为什么这些MySQL查询会给出不同的结果?

时间:2015-05-28 05:55:20

标签: mysql

SELECT * FROM tbl_custum_advertisement WHERE 'group' = 1

SELECT * FROM `tbl_custum_advertisement` WHERE `group`=1

3 个答案:

答案 0 :(得分:0)

您首先查询的是将文字'group'与文字1进行比较。

您的第二个问题是将字段group的值与文字1进行比较。

MySQL使用反引号来表示字段,使用单引号来表示字符串(或双引号,实际上)

答案 1 :(得分:0)

引号(Win32_Bus.DeviceID)和反引号

'

是不同的。

` 是一个文字字符串。但

'blah'

是列(或其他)名称。

`blah` 永远不会成真。但是名为'group' = 1的列可能包含值group,因此

1

可能是真的。

答案 2 :(得分:0)

反引号(`)将用作表和列的标识符

单引号(')应该用于字符串和字符串比较

请参阅此问题以获得进一步理解

When to use single quotes, double quotes, and backticks in MySQL