此查询有什么问题:
INSERT INTO `customers`(`username`, `password`) VALUES (:username, :password) WHERE NOT EXISTS ( SELECT `username` FROM `customers` WHERE `username`=:username );
nimxete21#
查询有什么问题?它生成语法错误。如果要防止重复,请对表使用唯一约束:
ALTER TABLE customers ADD CONSTRAINT unq_customers_username UNIQUE (username);
如果尝试使用
INSERT INTO `customers`(`username`, `password`) VALUES (:username, :password);
您将得到一个违反约束的错误。在这种情况下,通常需要实际更新现有行中的密码。您可以使用mysql扩展来实现这一点 ON DUPLICATE KEY UPDATE :
ON DUPLICATE KEY UPDATE
INSERT INTO `customers`(`username`, `password`) VALUES (:username, :password) ON DUPLICATE KEY UPDATE password = :password;
1条答案
按热度按时间nimxete21#
查询有什么问题?它生成语法错误。
如果要防止重复,请对表使用唯一约束:
如果尝试使用
您将得到一个违反约束的错误。
在这种情况下,通常需要实际更新现有行中的密码。您可以使用mysql扩展来实现这一点
ON DUPLICATE KEY UPDATE
: