是不是可以用触发器来实现 数据的自动生成

MySql 码拜 9年前 (2016-02-12) 945次浏览
思路是这样的,表的一列  psw 根据 name 这列,假如有数据的话, 就用函数更新本人的数值,
不知道 触发器是不是可以用来做这个事情? 求一个触发器的写法
另一种思路就是,假如从eee表 得到name,下边这两句要是合成一句应该  怎么样写这个sql?
insert into crc_test(name) select ename from eee;
update crc_test set psw=crc32(crc_test.name);

mysql> insert into crc_test(name) values(rand_string(5));
Query OK, 1 row affected (0.00 sec)
mysql> update crc_test set psw=crc32(crc_test.name);
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0
mysql> select * from crc_test;
+–+–+
| name  | psw       |
+–+–+
| hghrf | 915227050 |
+–+–+
1 row in set (0.00 sec)
mysql> desc crc_test;
+–+–+–+–+–+–+
| Field | Type     | Null | Key | Default | Extra |
+–+–+–+–+–+–+
| name  | char(10) | YES  |     | NULL    |       |
| psw   | int(16)  | YES  |     | NULL    |       |
+–+–+–+–+–+–+
2 rows in set (0.01 sec)
解决方案

5

可以用触发器实现。
set new.colName = newValue
具体可以参考一下MYSQL官方免费手册中的说明。

15

after insert要改成before insert
update t1 set new.c2=new.c1+10; 这句也有问题,去掉update t1

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明是不是可以用触发器来实现 数据的自动生成
喜欢 (0)
[1034331897@qq.com]
分享 (0)