mysql insert 返回值

先上代码:

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)

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

你可能感兴趣的:(insert)