请帮忙。已经好几个小时了,我还是解决不了这个错误。
我的问题是这样的:
INSERT INTO image (document_id, image_dir, page_number)
VALUES( '2018-002', 'D:\\DRS\\ARTICLES\\IMAGE\\', 1)
``` `document_id` 以及 `image_dir` varchar和 `page_number` 是int
错误消息是:
sql语法有错误;请查看与您的mysql服务器版本对应的手册,以获取在第1行“d:\drs\articles\image\,1)”附近使用的正确语法
我已经试过把`作为列名分隔符,但还是没有用。
1条答案
按热度按时间monwx1rj1#
我认为您将不得不双重转义\字符一为您的语言,然后第二为mysql。试着这样提问,
而不是,
这是解释。
从workbench插入时,
如果工作正常,则意味着在c代码中,您需要转义两个反斜杠(\),这将变成\\。
如果您只在c代码中编写此查询,
然后到mysql服务器的实际查询变成这样,
即使您尝试从workbench运行,这个查询也会失败。
总之,您需要用\\c而不是仅仅用\c#(或任何像java这样需要转义斜杠的语言)编写\\c,以使查询从代码中工作。