如果SELECT COUNT(*)大于1,则MySQL INSERT

时间:2013-04-04 10:04:30

标签: mysql if-statement

我正在尝试MySQL语句,我需要检查用户凭据是否正确;并且只有它们是正确的 - 我插入数据

IF (SELECT COUNT(*) FROM users WHERE uid = 1 AND password = "67^8ax%!") > 0
THEN
INSERT INTO messages (uid, text, time)
VALUES (1, "Hello", CURRENT_TIMESTAMP)
END IF

由于我的平台的限制,我必须在单个MySQL查询中执行这两个操作。

有什么方法可以让它发挥作用吗?

1 个答案:

答案 0 :(得分:2)

尝试此查询

在MYSQL中工作,认为不应该在MYSQL中工作:P

INSERT INTO messages (uid, text, time)
(SELECT 1, "Hello", CURRENT_TIMESTAMP FROM users WHERE uid = 1 AND password = "67^8ax%!")

如果只有1个具有给定用户名和密码的不同用户,则可以正常工作。

FIDDLE