MySql 触发器问题 希望得到帮助谢谢

别低头 王冠会掉 2020-04-19 04:02:04
数据库 sheshi
表名 items

我想通过触发器来 禁止 items 表里面的 PCID 这个字段被修改

请问应该怎么写啊 我是真的不会啊

求大神帮帮忙
...全文
246 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
引用 3 楼 zijiang001 的回复:
DELIMITER $$ CREATE TRIGGER `t_item_update` BEFORE UPDATE ON `items` FOR EACH ROW BEGIN IF new.PCID <> old.PCID THEN SIGNAL SQLSTATE 'HY000' SET MESSAGE_TEXT = 'PCID不允许修改'; END IF; END; $$ DELIMITER ;
提示 错误 好像是 mysql版本 语法错误
  • 打赏
  • 举报
回复
只有这些分了
zijiang001 2020-04-20
  • 打赏
  • 举报
回复
DELIMITER $$ CREATE TRIGGER `t_item_update` BEFORE UPDATE ON `items` FOR EACH ROW BEGIN IF new.PCID <> old.PCID THEN SIGNAL SQLSTATE 'HY000' SET MESSAGE_TEXT = 'PCID不允许修改'; END IF; END; $$ DELIMITER ;
  • 打赏
  • 举报
回复
列查询失败了: "CREATE TRIGGER `noupdate` AFTER UPDATE ON `items` FOR EACH ROW DELIMITER $$ CREATE TRIGGER `t_item_update` BEFORE UPDATE ON `items` FOR EACH ROW BEGIN IF new.PCID <> old.PCID THEN END IF; END; $$ DELIMITER ;" MySQL 返回: #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 '$$ CREATE TRIGGER `t_item_update` BEFORE UPDATE ON `items` FOR EACH ' at line 1
  • 打赏
  • 举报
回复
我是MySql 是5.6版本啊
zijiang001 2020-04-20
  • 打赏
  • 举报
回复
引用 4 楼 别低头 王冠会掉 的回复:
[quote=引用 3 楼 zijiang001 的回复:] DELIMITER $$ CREATE TRIGGER `t_item_update` BEFORE UPDATE ON `items` FOR EACH ROW BEGIN IF new.PCID <> old.PCID THEN SIGNAL SQLSTATE 'HY000' SET MESSAGE_TEXT = 'PCID不允许修改'; END IF; END; $$ DELIMITER ;
提示 错误 好像是 mysql版本 语法错误[/quote] 这个是mysql5.5以上支持的 检查下版本
  • 打赏
  • 举报
回复
别沉啊

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧