仅在if语句为true时执行INSERT

时间:2012-07-16 21:54:29

标签: mysql

我想执行一行INSERT,但只有当if条件为真时才会执行。

这是psuedo代码中的一个基本示例(只是为了简化问题)。

"If there is a user id = 5 in the users table (using SELECT), execute: INSERT INTO someOtherTable ... ()"

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

如果users.id是主键或至少是唯一的

INSERT INTO someOtherTable
SELECT 123, 456, 'a string value'
FROM users
WHERE id = 5

对于非唯一测试,您可以使用特殊表DAUL

INSERT INTO someOtherTable
SELECT 123, 456, 'a string value'
FROM DUAL
WHERE 5 IN (SELECT id FROM users WHERE id = 5)