本帖子是长期更新帖,用于记录我平常使用MySQL的时候遇到的一些“匪夷所思”的问题,有被自己坑了的,有被MySQL坑了的,和大家分享一下。
2016年4月18日16:10:17
创建了一张表por_template
创建成功后我就开始插入数据
INSERT INTO por_template ( id, title, describe, value, por_uid ) VALUES ("1", "1", "1", 1, "1");但是这个时候报错了
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'describe,value,por_uid)VALUES("1", "1", "1", 1, "1")' at line 4
原来我将describe设置成了其中的一个字段名,但是describe是MySQL的保留字,所以在插入的时候需要对SQL语句做处理
INSERT INTO por_template (
id, title, 'describe', value, por_uid ) VALUES ("1", "1", "1", 1, "1");还是不行,我就把单引号改成了双引号,但是依旧不行,陆续的我尝试了[],{}等,但是就是插不进去(别邪恶了啊!),后来在复制其他sql的时候无意中把单引号写成了`,就是这个玩意儿
然后执行sql
INSERT INTO por_template ( id, title, `describe`, value, por_uid ) VALUES ("1", "1", "1", 1, "1");,,,成功了。
总结一下,MySQL表字段最好还是不要用保留字(关键字)了,非要用的话记住是用"`"来注明。不要问我为什么不用MySQL Workbench,宝宝心里苦,宝宝现在开始用。