我想知道你是否可以在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')
目前我收到语法错误:
语法错误:意外'('(左括号)
和
语法错误:缺少')'(结束括号)
所以我很确定你因为语法错误而无法解决,但我错了吗?
答案 0 :(得分:0)
您无法在MySQL的WHERE子句中进行更新。对于此类问题,所有主要的关系数据库(包括MySQL)都支持触发器 - 这意味着,您可以在某些表中发生更改后触发DML命令。
因此,在这种情况下,当您更改(插入/更新/删除)表格中的某些内容时,您可以定义可操作的DML。
delimiter ;;
create trigger test_trigger
before insert ON about
write your logic for the update here
end ;;
delimiter ;