0

以下两个代码有什么区别吗?在从 PHP 程序运行 SQL 时,在列名周围加上 '' 是否有任何影响?

代码 1:SELECT f.id FROM sample_table f;

代码 2:SELECT f.'id' FROM sample_table f;

4

2 回答 2

1

是的,它会破坏 SQL

不应引用表名和列名,仅应引用文字字符串。

如果您需要包装表或列名,则使用反引号 (`)(至少对于 MySQL),而不是引号 (')

于 2015-07-15T11:45:27.443 回答
0

从问题中,我将暗示您指的是 SQL 方言,其中单引号是标识符转义字符。

如果是这种情况,它们之间的区别在于可以(但不推荐)使用保留关键字作为标识符名称。例如:

将导致错误:SELECT f.where FROM sample_table f;

按预期工作:SELECT f.'where' FROM sample_table f;

于 2015-07-15T11:46:09.490 回答