以下两个代码有什么区别吗?在从 PHP 程序运行 SQL 时,在列名周围加上 '' 是否有任何影响?
代码 1:SELECT f.id FROM sample_table f;
代码 2:SELECT f.'id' FROM sample_table f;
以下两个代码有什么区别吗?在从 PHP 程序运行 SQL 时,在列名周围加上 '' 是否有任何影响?
代码 1:SELECT f.id FROM sample_table f;
代码 2:SELECT f.'id' FROM sample_table f;
是的,它会破坏 SQL
不应引用表名和列名,仅应引用文字字符串。
如果您需要包装表或列名,则使用反引号 (`)(至少对于 MySQL),而不是引号 (')
从问题中,我将暗示您指的是 SQL 方言,其中单引号是标识符转义字符。
如果是这种情况,它们之间的区别在于可以(但不推荐)使用保留关键字作为标识符名称。例如:
将导致错误:SELECT f.where FROM sample_table f;
按预期工作:SELECT f.'where' FROM sample_table f;