如果列是mysql中的某个值,如何禁止更新表?

时间:2015-03-15 06:11:08

标签: mysql triggers

我不希望任何人能够将其名称更新为某些值并在尝试将PLayername更新为"错误"时取消更新,并且需要在数据库级别阻止它。 / p>

我想我可以用触发器做这件事,所以我试着在这里做一个。

delimiter $$
create trigger errorcheck before insert on player_data
for each row
begin
if new.PlayerName = 'Error' then
signal sqlstate '45000';
end if;
end;$$

但服务器响应此错误:

1064 - 您的SQL语法出错;查看与您的MySQL服务器版本相对应的手册,以获得在' $$'附近使用的正确语法。在第7行

感谢您提供任何帮助/建议

1 个答案:

答案 0 :(得分:0)

delimiter $$
create trigger errorcheck before insert on player_data
for each row
begin
if new.PlayerName = 'Error' then
signal sqlstate '45000';
end if;
end;

我不明白为什么但是在最后删除$$分隔符保存触发器并且我测试了它并且它按照我想要的方式工作。