將假設我們有一個表只有一列,ID(這是主鍵)MySQL的 - 在表中只有一個自動遞增列
我們如何插入新行到表中沒有指定一個ID?
我想這
INSERT INTO A (`id`) VALUES (NULL)
,它不工作
編輯:我忘了提,ID,主鍵有AUTO_INCREMENT和NOT NULL屬性。
編輯2:運行查詢時確切的錯誤以上是
Column 'id' cannot be null
將假設我們有一個表只有一列,ID(這是主鍵)MySQL的 - 在表中只有一個自動遞增列
我們如何插入新行到表中沒有指定一個ID?
我想這
INSERT INTO A (`id`) VALUES (NULL)
,它不工作
編輯:我忘了提,ID,主鍵有AUTO_INCREMENT和NOT NULL屬性。
編輯2:運行查詢時確切的錯誤以上是
Column 'id' cannot be null
只要「身份證」作爲自動遞增使能(假設ID爲整數),你可以做:
INSERT INTO A (id) values (null)
和「身份證」將保持每次遞增。
嘗試沒有``.. 如:
INSERT INTO A(SID)VALUES(NULL ); //我用SID代替ID ...
工作得很好,我..
而且wwhile創建表A,指定唯一(SID)... 即
創建表A( sid int(3)not null auto_increment unique(sid));
引述風格不會改變任何東西 – 2011-05-11 09:40:09
只有當你使用一個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)
是的,它是一個自動遞增的字段 – arvinsim 2011-05-11 09:36:35
除非我失去了一些東西,那就是在這個問題中描述的設置: - ? – 2011-05-11 09:37:48
我有類似的問題,然後我注意到我沒有應用更改時,我將id
更改爲主鍵+非空+自動增量。
爲什麼不與我們分享它失敗的原因? – 2011-05-11 09:34:01
PK字段不允許有重複值或NULL值 – Dalen 2011-05-11 09:34:01
主鍵字段必須爲NOT NULL。 – 2011-05-11 09:36:23