0

我正在从在线教程中学习 Php/MySQL(不是我希望您观看它,而是作为参考:http ://www.youtube.com/watch?v=rJ3tDQfJt4k )

我通过 phpMyAdmin 3.5.2.2 使用 MySQL 5.5.27

在本教程中,给出了这段代码(并且有效):

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.')

我希望有人解释为什么会这样,以及如何识别正确的语法 - 或者链接到一些文档,这些文档将使初学者可以理解这种区别。(在我学习的这一点上,我不太可能能够遵循手册。)感谢您提供的任何帮助。

4

2 回答 2

3

MySQL 标识符(列名和表名)可选地用反引号“`”括起来,而不是单引号。视频有点模糊,我明白你为什么会误会他们。尝试:

INSERT INTO `posts` (`title`, `contents`) VALUES('this is the first post', 'Yes it is.')
于 2013-05-31T02:57:06.130 回答
0

默认情况下,标识符可以用反引号转义,而不是单引号。默认情况是由于 mysqld 以sql_mode开头。

如果为sql_mode配置ANSI_QUOTES ,则可以使用双引号。

我在 DBA StackExchange 中写过:如何将 MySQL 关键字转换为普通列

于 2013-05-31T02:59:08.700 回答