Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果SELECT COUNT(*)大于1,则插入MySQL_Mysql_If Statement - Fatal编程技术网

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

如果SELECT COUNT(*)大于1,则插入MySQL,mysql,if-statement,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查询中执行这两个操作

我正在尝试一个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查询中执行这两个操作

有什么办法可以让它工作吗?

试试这个查询

在MYSQL中工作,思想不应该在MYSQL中工作:p

INSERT INTO messages (uid, text, time)
(SELECT 1, "Hello", CURRENT_TIMESTAMP FROM users WHERE uid = 1 AND password = "67^8ax%!")
如果只有一个具有给定用户名和密码的不同用户,则此选项将起作用


不需要计算*就好像找到了那个特定的用户,那么只会插入记录,否则不会。。。检查小提琴,我已经在小提琴中涵盖了这两种情况。OP需要的是,如果那个特定的用户存在,并且我的查询遵循这个条件,那个记录应该被插入到消息表中…我去了,在我删除的答案中把它大大复杂化了,完全忘记了插入。。。选择:工作!!谢谢尽管如此,为什么在MySQL中不能工作呢?INSERT可以适当地使用SELECT中的列数据。这不是设计的吗?我认为如果没有行满足条件,那么它将通过错误而实现,但它没有。。。