我无法使用where
子句运行简单的选择查询。
我正在使用MySQL并且有一个列User ID
。
问题在于列名由两个单词组成。
select * from user where 'User ID' = "xyz"
像下一个这样的常见查询正常运行:
select * from user where email = 'xyz'
如何在User ID
列上写条件?
答案 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';