sql 语句无效 - 撇号?
invalid sql statement - apostrophes?
我编写了一些 PHP 脚本并写了这个 sql 查询(例如):
INSERT INTO \`table1\` (\`article\`, \`typ\`)
VALUES(\`test\`, \`test2\`)
此查询有效。
我的问题是,如果我这样写表名和列 'table1'
我收到 sql 错误:
SQL 错误(1064):您的 SQL 语法有误;查看与您的 MariaDB 服务器版本对应的手册,了解在 ''article', 'typ') VALUES('test', 'test1')'
附近使用的正确语法
有人知道为什么我必须像这样写 `table1` 以及为什么它不能正常工作 --> ' 吗?
服务器类型:MariaDB
服务器版本:10.1.9-MariaDB - mariadb.org二进制分发
Server-Zeichensatz:UTF-8 Unicode (utf8)
正确的代码写法是:
INSERT INTO table1(article, typ)
VALUES ('test', 'test2')
所有标识符(table 和列名)都是有效名称。他们不需要逃脱。因此,不需要反引号。
带引号的字符串确实需要单引号,而不是反引号。如果反引号是名称的一部分,您可以这样做:
INSERT INTO table1(article, typ)
VALUES ('`test`', '`test2`');
但这似乎不太可能。
我编写了一些 PHP 脚本并写了这个 sql 查询(例如):
INSERT INTO \`table1\` (\`article\`, \`typ\`)
VALUES(\`test\`, \`test2\`)
此查询有效。
我的问题是,如果我这样写表名和列 'table1' 我收到 sql 错误: SQL 错误(1064):您的 SQL 语法有误;查看与您的 MariaDB 服务器版本对应的手册,了解在 ''article', 'typ') VALUES('test', 'test1')'
附近使用的正确语法有人知道为什么我必须像这样写 `table1` 以及为什么它不能正常工作 --> ' 吗?
服务器类型:MariaDB
服务器版本:10.1.9-MariaDB - mariadb.org二进制分发
Server-Zeichensatz:UTF-8 Unicode (utf8)
正确的代码写法是:
INSERT INTO table1(article, typ)
VALUES ('test', 'test2')
所有标识符(table 和列名)都是有效名称。他们不需要逃脱。因此,不需要反引号。
带引号的字符串确实需要单引号,而不是反引号。如果反引号是名称的一部分,您可以这样做:
INSERT INTO table1(article, typ)
VALUES ('`test`', '`test2`');
但这似乎不太可能。