【发布时间】:2013-05-16 12:29:52
【问题描述】:
我正在尝试理解触发器,并且我认为我完全理解它们,但我无法实现它们中的任何一个。我希望此代码删除名为“test”的用户。所以如果有人更新他们的名字来“测试”这个用户应该被删除。
我的示例代码:
CREATE TRIGGER `my_trigger`
BEFORE UPDATE ON `my_db` FOR EACH ROW
BEGIN
DELETE FROM my_table WHERE `username` = 'test';
END
我的错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4
我不明白为什么 delete 语句给了我一个错误。有什么想法吗?
【问题讨论】:
-
你不能这样做(见下面的答案)。但是你可以创建一个存储过程,更新表,然后从表中删除行(使用事务)。
标签: mysql sql triggers phpmyadmin