我想知道你是否可以在insert-into中的if-else中使用update语句,它看起来像这样:
INSERT INTO about
SELECT a1, b1, c1
FROM post a
WHERE IF(a.id NOT IN (SELECT b.id FROM category b),
TRUE,
(UPDATE about c
SET c.comments = a.comments
WHERE a.status == 'active')
当前出现语法错误:
语法错误:意外的“(”(左括号)
和
语法错误:缺少“)”(右括号)
所以我很肯定你不能因为语法错误,但我错了吗?
1条答案
按热度按时间bejyjqdl1#
您不能在mysql的where子句中进行更新。对于这样的问题,所有主要的关系数据库,包括mysql,都支持触发器——这意味着,您可以在某些表中发生更改后触发dml命令。
因此,在本例中,当您更改(插入/更新/删除)表中的某些内容时,可以定义一个可操作的dml。