我在mysql中有下表
BLUE | RED | WOLOLO (UNIXTIMESTAMP)
2 ---------10-----------1324123...
3 ---------34-----------13241323...
8 ---------10-----------NULL
6 ---------10-----------NULL
我想要做的是验证是否有任何行 WOLOLO 与 null 不同 并且红色等于10。如果没有,则插入新行,否则选择 蓝色从它。像这样的东西(不起作用)
$query = "IF(EXISTS (SELECT BLUE FROM table WHERE WOLOLO='x' AND RED='10'), SELECT BLUE FROM table WHERE WOLOLO='x' AND RED='10', INSERT INTO table ..."
最佳答案
将其分为几个步骤:
DECLARE var0 INT;
SELECT COUNT(*) INTO var0 FROM table
WHERE WOLOLO IS NOT NULL and RED = '10';
IF var0>0 THEN
SELECT BLUE FROM table
END IF;
IF var0=0 THEN
INSERT INTO table ....
END IF;
关于mysql - 一个 SQL 查询中的 IF、EXISTS 和 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23205866/