为什么SELECT LAST_INSERT_ID();返回是0?

susdj 2004-07-23 09:52:36
create table 123
(
no int(10) not null auto_increment
....
...全文
1500 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yang2004 2004-07-24
  • 打赏
  • 举报
回复
支持樓上兩位的觀點.
trampwind 2004-07-23
  • 打赏
  • 举报
回复
在一次会话中如果没又插入任何记录的话,这个查询返回的应该就是0
loveflea 2004-07-23
  • 打赏
  • 举报
回复
你要在插入记录之后,调用 last_insert_id() 才会有结果!


mysql> desc article;
+---------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+----------------+
| id | int(11) | | PRI | NULL | auto_increment |
| title | varchar(255) | | | | |
| content | text | | | | |
| author | varchar(20) | | | | |
| email | varchar(30) | | | | |
| date | varchar(40) | | | | |
+---------+--------------+------+-----+---------+----------------+
6 rows in set (0.02 sec)

mysql> desc article;
+---------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+----------------+
| id | int(11) | | PRI | NULL | auto_increment |
| title | varchar(255) | | | | |
| content | text | | | | |
| author | varchar(20) | | | | |
| email | varchar(30) | | | | |
| date | varchar(40) | | | | |
+---------+--------------+------+-----+---------+----------------+
6 rows in set (0.00 sec)

mysql> insert into article(title) values('hava a test!!!');
Query OK, 1 row affected (0.16 sec)

mysql> select last_insert_id();
+------------------+
| last_insert_id() |
+------------------+
| 1 |
+------------------+
1 row in set (0.03 sec)

mysql> insert into article(title) values('hava a test!!!');
Query OK, 1 row affected (0.00 sec)

mysql> select last_insert_id();
+------------------+
| last_insert_id() |
+------------------+
| 2 |
+------------------+
1 row in set (0.00 sec)

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧