Mysql 触发脚本不工作

标签 mysql triggers insert

我一直在尝试在 mysql 中设置触发器,但无济于事。 以下是与之相关的表格:

mysql> describe ttloki;
+-------------+-----------+------+-----+-------------------+-----------------------------+
| Field       | Type      | Null | Key | Default           | Extra                       |
+-------------+-----------+------+-----+-------------------+-----------------------------+
| Lokinumero  | int(11)   | NO   | PRI | NULL              | auto_increment              |
| Ttnumero    | int(11)   | NO   | MUL | NULL              |                             |
| Kirjausaika | timestamp | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------------+-----------+------+-----+-------------------+-----------------------------+
3 rows in set (0.00 sec)

mysql> describe tyontekija;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| Numero   | int(11)     | NO   | PRI | NULL    |       |
| Sukunimi | varchar(40) | NO   |     | NULL    |       |
| Etunimi  | varchar(40) | NO   |     | NULL    |       |
| Osasto   | int(11)     | YES  | MUL | NULL    |       |
| Lahios   | varchar(40) | YES  |     | NULL    |       |
| Postino  | varchar(5)  | NO   | MUL | NULL    |       |
| Puhelin  | varchar(16) | YES  |     | NULL    |       |
| Palkka   | int(11)     | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
8 rows in set (0.00 sec)

我最后一次试用触发器是这样的:

create trigger uusitt
after insert on TYONTEKIJA
for each row
insert into TTLOKI(Ttnumero) values
(old.TYONTEKIJA.Numero);

每当我尝试插入 TYONTEKIJA 时,它都会给我关于触发器中值的任何内容的错误。

mysql> insert into TYONTEKIJA(Numero,Sukunimi,Etunimi,Osasto,Lahios,Postino,Puhelin,Palkka) values
    -> (220000, "Saarikoski", "Pekka", 5, "Umpikuja 1", "02760", "060-7358461", 3000);
ERROR 1054 (42S22): Unknown column 'old.TYONTEKIJA.Numero' in 'field list'

我不明白如何正确设置这种触发器。 我应该更改什么来解决这个问题?

最佳答案

当您插入一个值时,您不能使用old 标识符,因为还没有旧值。也许你的意思是,new.Numero

关于Mysql 触发脚本不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12703512/

相关文章:

php - 清理整数数据库输入

python - "Incorrect number of bindings supplied"cPython 3.5 SQLite3 VS15

json - Postgresql - 在从 JSON 和表中选择值时插入到两个表中

MySQL 触发器 - 插入可变命名表

sql-server - SQL Server,无法使用 if else 语句检查是否#临时表存在

google-apps-script - 类型错误 : Cannot read property "range" from undefined

PHP 代码看起来不错,但没有更新

mysql - 为什么此 SQL 查询不按我的别名排序?

php - 具有不同用户名的两台服务器之间的故障转移 MYSQL 同步

mysql - 我是否必须进行 2 次查询才能在 API 中授权用户?