每次我将其插入表字段时,我都拼命地尝试让数据库将 0 替换为 1。 我有一个名为 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);
但是还是不行。我能做什么?
最佳答案
不能使用单引号来转义列名。请改用反引号 (`)。顺便说一句,列名中的空格不是一个好主意,随机不必要的括号也不是一个好主意。尝试一下
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)
关于MYSQL 工作台。阻止特定插入的触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47698203/