我有一個表有一些行。在我的插入請求中增加我的ID
idClient,名稱,ADRESS,國家,...
我想知道我可以做一個插入此表有自動遞增我idClient在我的SQL請求..? Thx。
編輯:我想要做這樣的
insert into Client values((select max(idClient),...)
我有一個表有一些行。在我的插入請求中增加我的ID
idClient,名稱,ADRESS,國家,...
我想知道我可以做一個插入此表有自動遞增我idClient在我的SQL請求..? Thx。
編輯:我想要做這樣的
insert into Client values((select max(idClient),...)
ALTER TABLE Client CHANGE idClient
idClient INT AUTO_INCREMENT PRIMARY KEY;
一個請求。然後,當你插入到表,從插入排除自動遞增的主鍵列:
INSERT INTO Client (name, address, country)
VALUES ('name', 'address', 'country')...;
將生成idClient的新值。
如果應用程序有多個實例一次插入行,這是安全地執行此操作的唯一方法。使用您描述的MAX(idClient)方法將不起作用,因爲它受到競爭條件的限制。
insert into Client values(NULL,"name","some address", "country")
定義id列作爲AUTO_INCREMENT
,然後完全跳過分配:
CREATE TABLE clients (
id MEDIUMINT NOT NULL PRIMARY KEY,
name VARCHAR(255),
addr VARCHAR(255),
country VARCHAR(255),
PRIMARY KEY (id));
INSERT INTO clients
(name, addr, country)
VALUES
("name", "addr", "country");