通常的設置自增字段的方法:
創建表格時添加:
create table table1(id int auto_increment primary key,...)
創建表格後添加:
alter table table1 add id int auto_increment primary key 自增字段,一定要設置為primary key.
例
許多時候希望table中數據的id不要從1開始,像qq, id從10000開始
代碼如下:
代碼如下 復制代碼alter table users AUTO_INCREMENT=10000;
而且該語句也適用於修改現有表的id上, 比如大批量刪除數據後,想id從654321退回123456開始
代碼如下 復制代碼alter table users AUTO_INCREMENT=123456;
但是經過實際測試, 單機的Mysql沒有問題, Mysql Cluster下是無效的,可能在主鍵上的機制,還是有所不同,有時間研究一下
在Rails migration中的寫法如下:
create_table :articles, :options => 'AUTO_INCREMENT = 1001' do |t|
# xxx todo
end
設置自增ID從N開始
CREATE TABLE TABLE_1 ( ID INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, // ID列為無符號整型,該列值不可以為空,並不可以重復,而且自增。 NAME VARCHAR(5) NOT NULL ) AUTO_INCREMENT = 100;(ID列從100開始自增)
如果想讓自增ID從默認值開始只要
TRUNCATE TABLE table1
即可