假设我们表A只有一列,id(这是主键)
如何在不指定ID的情况下在表中插入新行?
我试过这个
INSERT INTO A (`id`) VALUES (NULL)
它不起作用
编辑:我忘了提到id,主键有auto_increment和NOT NULL属性。
编辑2:运行上述查询时的确切错误是
Column 'id' cannot be null
答案 0 :(得分:12)
只要'id'作为自动增量启用(假设ID是整数),您就可以这样做:
INSERT INTO A (id) values (null)
和'id'每次都会递增。
答案 1 :(得分:3)
仅在您使用auto_increment主键(PK)时才有效,因为每个PK必须具有唯一的非空值。
drop table if exists A;
create table A
(
id int unsigned not null auto_increment primary key
)
engine=innodb;
insert into A (id) values (null),(null);
mysql> select * from A order by id;
+----+
| id |
+----+
| 1 |
| 2 |
+----+
2 rows in set (0.00 sec)
答案 2 :(得分:0)
尝试没有``.. 如:
INSERT INTO(sid)VALUES(NULL); //我使用sid而不是id ...
对我来说很好..
同时创建表A,指定unique(sid)... 即
创建表A(sid int(3)not null auto_increment unique(sid));
答案 3 :(得分:0)
我有类似的问题,然后我注意到当我将id
更改为主键+非null +自动增量时,我没有应用更改。
答案 4 :(得分:0)
INSERT INTO `table` () VALUES ();
也在工作。