这个SQL有什么问题?

5

我花了很多时间来解决这个问题。

SELECT * 
FROM  `users`
WHERE  `IP` = `123.231.213.132`

这有什么问题吗?
#1054 - Unknown column '123.231.213.132' in 'where clause' 
6个回答

19

您不应使用反引号(`)来表示列值。必须使用单引号或双引号,否则MySQL将把该值视为列名。

SELECT * 
FROM  `users`
WHERE  `IP` = '123.231.213.132'

7

使用单引号而不是反引号来表示`123.231.213.132`

SELECT * 
FROM  `users`
WHERE  `IP` = '123.231.213.132'

3

使用单引号 ' 而不是反引号 ` 来表示字符串字面值。


2
什么是反引号?使用单引号。我假设“users”是一个表名,“IP”是“users”的一个实体。此外,你必须在语句末尾加上分号。

1

可能是单引号符号。尝试手动替换它们。


1

你使用了错误的引号字符

在mysql语句中指定字符串值,必须使用'(单引号)或"(双引号)

`(反引号)字符用于明确指定带引号的字符串表示从哪个字段名获取数据

如果列名与mysql的保留关键字(如indexwhere等)冲突,则需要在语句中使用反引号


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接