每次我将数据库插入表字段时,我都绝望地尝试将数据库替换为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);
但它仍然无效。我该怎么办?
答案 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)