mysql insert 返回值

结论:当表的主键字段不是自增的时候,添加一条数据返回的最后插入字段的id的值就是0,但并不表示其插入错误或没有插入成功

上代码:

mysql> insert into hello(id, age) value (12,8);
Query OK, 1 row affected (0.00 sec)

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

mysql> desc hello;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | NO   | PRI | NULL    |       |
| age   | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.01 sec)

mysql> select * from hello;
+----+------+
| id | age  |
+----+------+
|  1 | NULL |
|  2 | NULL |
|  5 |    0 |
|  6 | NULL |
|  9 |    1 |
| 10 |    2 |
| 11 |    8 |
| 12 |    8 |
+----+------+
8 rows in set (0.00 sec)
原文地址:https://www.cnblogs.com/iLoveMyD/p/2769649.html