列名称“用户ID”的简单WHERE子句?

时间:2012-03-24 23:45:33

标签: mysql sql

我无法使用where子句运行简单的选择查询。 我正在使用MySQL并且有一个列User ID

问题在于列名由两个单词组成。

select * from user where 'User ID' = "xyz"

像下一个这样的常见查询正常运行:

select * from user where email = 'xyz'

如何在User ID列上写条件?

4 个答案:

答案 0 :(得分:2)

尝试:

SELECT u.* 
FROM   `user` u
WHERE  u.`User ID` = 'xyz';

但一般来说,尽量不要使用这样的列名。

如果您的名称与MySQL关键字冲突,使用反引号来限定表和/或列名称也很有用,例如: user

答案 1 :(得分:1)

无法重命名此列?
您可以尝试使用查询中列名称的反引号:

select * from user where `User ID` = 'xyz';

答案 2 :(得分:1)

Jonathan Leffler类似,如果你在MS SQL Server中,你可以尝试:

select * from user where [User ID] = "xyz"

或在MySql PHP Admin中:

select * from user where ´User ID´ = "xyz"

我不确定MySql,但在SQL Server中,即使是“登录”或“用户”也是一些保留字,它们通常在查询中起作用。尽管如此,我认为最好不要使用它。

我希望这可以帮助你或另一个人。拥抱。

参考:
1. Meaning of square brackets [] in MS-SQL table designer?
2. When to use single quotes, double quotes, and backticks in MySQL

答案 3 :(得分:-1)

我认为用户是一个保留字......

尝试:

SELECT *
FROM `user`
WHERE `email` = 'xyz';