检查mysql表中的列中是否存在值

时间:2011-08-12 08:02:37

标签: php mysql

我有一个名为accountinfo的表,其中包含一行名为username。

当我运行register.php时,我想检查用户名是否已经存在于mysql表中。

有人有什么想法吗?

3 个答案:

答案 0 :(得分:10)

SELECT count(*) AS num_user 
FROM   accountinfo 
WHERE  username = "your_user_name"

如果数据库中已存在your_user_name,则会为您提供非零值。如果它不存在,那么你将得到零。

<强> P.S。

如果您不想在数据库中使用重复的用户名,那么最好在表格中添加唯一性约束。

要添加唯一性约束,请使用此查询 -

ALTER TABLE accountinfo ADD CONSTRAINTS unique_username UNIQUE (username);

添加此唯一性约束可以避免很多麻烦。

答案 1 :(得分:0)

只需查询用户名:

SELECT `username` FROM `accountinfo` WHERE `username` = :existing_username
-- or
SELECT `username` FROM `accountinfo` WHERE `username` LIKE :existing_username

答案 2 :(得分:0)

我建议你快速学习SQL查询:)

SELECT * from accountinfo where username = 'something'