我是从在线教程中学习Php/MySQL的(不是我希望你看它,而是作为参考:http://www.youtube.com/watch?v=rJ3tDQfJt4k)。
我使用的是MySQL 5.5.27到phpMyAdmin 3.5.2.2
在本教程中,给出了以下代码(并且可以正常工作):
INSERT INTO 'posts' ('title', 'contents') VALUES('this is the first post', 'Yes it is.')但是,我收到这个错误消息:"#1064 -您的SQL语法中有一个错误;请查看与您的MySQL服务器版本相对应的手册,以获得正确的语法...“
这个语法(我通过反复试验发现的)适用于我:
INSERT INTO posts (title, contents) VALUES('this is the first post', 'Yes it is.')我希望有人解释为什么会这样,以及如何识别正确的语法-或者链接到一些文档,这将使初学者能够理解这种区别。(在我学习的这一点上,我不太可能遵循手册。)感谢您能提供的任何帮助。
发布于 2013-05-31 10:57:06
MySQL标识符(列名和表名)可以用反引号"`“括起来,而不是单引号。这个视频有点模糊,我明白你为什么会弄错了。尝试:
INSERT INTO `posts` (`title`, `contents`) VALUES('this is the first post', 'Yes it is.')发布于 2013-05-31 10:59:09
默认情况下,标识符可以使用反引号进行转义,而不是单引号。默认情况是由于 mysqld以开头。
如果为配置ANSI_QUOTES,则可以使用双引号。
我在数据库管理员StackExchange中写过:
https://stackoverflow.com/questions/16849036
复制相似问题