MYSQL Workbench。阻止某个插入的触发器

时间:2017-12-07 15:16:24

标签: mysql triggers

每次我将数据库插入表字段时,我都绝望地尝试将数据库替换为0。 我有这个名为Stazione的领域,有“numerodibinari”,我不希望它为零。 我试过这样的。

Create trigger gestionebinari

Before insert on stazione

for each row

Begin
If (new.'numero di binari'=0) 

then
Set (new.'numero di binari'=1);

但它仍然无效。我该怎么办?

1 个答案:

答案 0 :(得分:1)

您不能使用单引号来转义列名。请改用后面的刻度(`)。列名称中的BTW空格不是一个好主意,也不是随机不必要的包围。尝试

drop table if exists stazione;
create table stazione(`numero di binari` int);

drop trigger if exists gestionebinari;

delimiter $$
Create trigger gestionebinari
Before insert on stazione
for each row
Begin
If new.`numero di binari`=0 
then
Set new.`numero di binari`=1;
end if;
end $$
delimiter ;

insert into stazione values (0);
select * from stazione;

mysql> select * from stazione;
+------------------+
| numero di binari |
+------------------+
|                1 |
+------------------+
1 row in set (0.00 sec)