我想在MySQL中创建一个触发器,但是当我运行创建代码时它会显示一条错误消息:
CREATE TRIGGER before_employee_update
BEFORE UPDATE ON trigger
FOR EACH ROW BEGIN
update users
SET username= 'krishna',
password= 'abc';
END
错误是:
1064 - 您的SQL语法出错;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 '触发FOR EACH ROW BEGIN INSERT INTO用户SET username ='kr' 在第2行
这是错误指向的代码:
BEFORE UPDATE ON trigger
^^^^^^^
答案 0 :(得分:0)
insert
的正确语法是:
insert into users(username, password)
select 'krishna', 'abc';
您的语法接近更新:
update users
SET username= 'krishna',
password= 'abc';
答案 1 :(得分:0)
TRIGGER是MySQL中的保留字,你应该引用这个名字 -
CREATE TRIGGER before_employee_update
BEFORE UPDATE
ON `trigger`
FOR EACH ROW
BEGIN
UPDATE users SET username = 'krishna', password = 'abc';
END
作为解决方法 - 重命名表trigger
。