我已经通过谷歌搜索,但没有找到我的问题的答案。如果条件在MySQL查询
我试图使用IF在这种方式查询(而不是存储过程):
IF EXISTS (SELECT * FROM TABLE WHERE COLUMN=VALUE) THEN
DO SOMETHING
END IF;
我tryed在MySQL Workbench和没有工作(语法错误)。
任何人都知道是否有可能以这种方式使用IF?
在此先感谢。
我已经通过谷歌搜索,但没有找到我的问题的答案。如果条件在MySQL查询
我试图使用IF在这种方式查询(而不是存储过程):
IF EXISTS (SELECT * FROM TABLE WHERE COLUMN=VALUE) THEN
DO SOMETHING
END IF;
我tryed在MySQL Workbench和没有工作(语法错误)。
任何人都知道是否有可能以这种方式使用IF?
在此先感谢。
这取决于什么东西
如果是UPDATE,DELETE或选择,你可以在where子句中指定的条件。
WHERE IF((SELECT COUNT(*) FROM TABLE WHERE COLUMN=VALUE) > 0, 1, 2) = 1
对于其他语句(插入,创建等)我不认为这是可能的。
在您的评论中,您说“SOMETHING”是INSERT
操作。然后你就可以代替:
INSERT INTO tableName
(colA, colB, ...)
VALUES
(a, b, ...) ;
使用:
INSERT INTO tableName
(colA, colB, ...)
SELECT
a, b, ...
FROM
dual
WHERE
EXISTS (SELECT * FROM TABLE WHERE COLUMN=VALUE) ;
你想'DO'什么'SOMETHING'? – eggyal
在这种情况下在INSERT中。 – Valerio