mysql执行insert into时插入自增字段不输入所有列的办法
分类:Database, MySQL
阅读 (5,771)
Add comments
6月 062017
本文使用数据库为:Mysql
当我们想使用insert into为一个表的所有字段插入一条数据时,我们可以这样写sql语句
insert into table1 values(‘field’, ‘field2’, ‘field3’);
但是假如第一列的字段是一个自增字段,如下这样就不行了
insert into table1 values(1, ‘field’, ‘field2’, ‘field3’);
第一列的值1,如果已存在值为1的记录,则会报主键已存在的错误,但是如果我们不为第一列赋值的话,如下这样
insert into table1 values(‘field’, ‘field2’, ‘field3’);
又会报列表不匹配的错误,我们可以选择在sql语句中列出所有的列名的办法,如下:
insert into table1 names(field1, field2, field3) values(‘field’, ‘field2’, ‘field3’);
但是对于字段特别多表就很麻烦了
其实对于自增字段我们可以给他传入一个null,这样即不会执行sql语句错误,也可以达到插入新的id的效果,如下:
1 |
insert into table1 values(null, 'field', 'field2', 'field3'); |