发布网友 发布时间:2022-04-27 09:21
共3个回答
热心网友 时间:2022-05-01 23:18
我看了一下, 估计这个触发器的目的, 是想在往 orders 表插入一条记录的时候,命令行下面输出 “本次插入的 order_num ”追答新插入行的order_num值返回 不用那么麻烦, 直接 select last_insert_id() 就好。
mysql> CREATE TABLE test_create_tab2 (
-> id INT AUTO_INCREMENT,
-> val VARCHAR(10),
-> PRIMARY KEY (id)
-> );
Query OK, 0 rows affected (0.09 sec)
mysql> INSERT INTO test_create_tab2(val) VALUES ('NO id');
Query OK, 1 row affected (0.03 sec)
mysql> select last_insert_id() as id;
+----+
| id |
+----+
| 1 |
+----+
1 row in set (0.00 sec)
mysql> INSERT INTO test_create_tab2(val) VALUES ('NO id 2');
Query OK, 1 row affected (0.03 sec)
mysql> select last_insert_id() as id;
+----+
| id |
+----+
| 2 |
+----+
1 row in set (0.00 sec)
参考资料:http://hi.baidu.com/wangqing999/blog/item/8278231f86c16b168718bf6b.html
热心网友 时间:2022-05-02 00:36
错误,不能从触发器返回一个结果集,就是说不能用 select new.order_num; 而应该用赋值语句热心网友 时间:2022-05-02 02:11
FORE INSERT ON `表名`