能否设置这样的MYsql 触发器

如何让mysql触发器在检测到有数据插入后,返回这条数据中自增型主键值的值?mysql能做到吗?(我现在的做法是插入后再查询该条数据的自增型主键值的值,这样效率太底了。而... 如何让mysql 触发器在检测到有数据插入后,返回这条数据中自增型主键值的值?
mysql能做到吗?(我现在的做法是插入后再查询该条数据的自增型主键值的值,这样效率太底了。而且不敢保证我接下来的UPDATE能更新到刚才这条数据中!)
展开
 我来答
匿名用户
2013-06-27
展开全部

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)

mysql> select * from test_create_tab2;
+----+---------+
| id | val     |
+----+---------+
|  1 | NO id   |
|  2 | NO id 2 |
+----+---------+
2 rows in set (0.00 sec)
追问
但是我在插入后 执行 SELECT LAST_INSERT_ID();什么都没得到啊?
中智咨询
2024-08-28 广告
在当今竞争激烈的商业环境中,企业需要不断提高自身的竞争力,以保持市场份额和增加利润。通过人效提升,企业可以更有效地利用有限的资源,提高生产力和效益,从而实现盈利目标。中智咨询提供全方位的组织人效评价与诊断、人效提升方案等数据和管理咨询服务。... 点击进入详情页
本回答由中智咨询提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式