首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 入門

MySQL 序列與 AUTO_INCREMENT 完整應用

     編輯:MySQL 入門

使用 AUTO_INCREMENT

最簡單實現自動遞增整數序列,常用於主鍵。

建表範例

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
);

插入資料時指定 NULL 觸發自動遞增

INSERT INTO insect (id, name, date, origin) VALUES
(NULL, 'housefly', '2001-09-10', 'kitchen'),
(NULL, 'millipede', '2001-09-10', 'driveway');

取得最後插入的 AUTO_INCREMENT 值

  • SQL:LAST_INSERT_ID()
  • Perl:$dbh->{mysql_insertid}
  • PHP: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;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved