最簡單實現自動遞增整數序列,常用於主鍵。
CREATE TABLE insect (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id),
name VARCHAR(30) NOT NULL,
date DATE NOT NULL,
origin VARCHAR(30) NOT NULL
);
INSERT INTO insect (id, name, date, origin) VALUES (NULL, 'housefly', '2001-09-10', 'kitchen'), (NULL, 'millipede', '2001-09-10', 'driveway');
LAST_INSERT_ID()$dbh->{mysql_insertid}mysql_insert_id($conn_id)刪除大量資料後需重新排列 ID,可刪除並重建欄位(操作需謹慎,避免併發衝突):
ALTER TABLE insect DROP id; ALTER TABLE insect ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (id);
CREATE TABLE insect (
id INT UNSIGNED NOT NULL AUTO_INCREMENT = 100,
PRIMARY KEY (id), ...
);
-- 或事後修改
ALTER TABLE insect AUTO_INCREMENT = 100;