亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

更改自動增量起始編號?

更改自動增量起始編號?

智慧大石 2019-08-30 15:43:39
在MySQL中,我有一個表,我想將auto_increment值設置為5而不是 1。這是可能的,這是什么查詢語句?
查看完整描述

3 回答

?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

您可以使用ALTER TABLE更改auto_increment初始值:


ALTER TABLE tbl AUTO_INCREMENT = 5;

有關更多詳細信息,請參閱MySQL參考。


查看完整回答
反對 回復 2019-08-30
?
四季花海

TA貢獻1811條經驗 獲得超5個贊

是的,您可以使用該ALTER TABLE t AUTO_INCREMENT = 42聲明。但是,您需要注意這將導致重建整個表,至少使用InnoDB和某些MySQL版本。如果您已有一個包含數百萬行的數據集,則可能需要很長時間才能完成。


根據我的經驗,最好做以下事情:


BEGIN WORK;

-- You may also need to add other mandatory columns and values

INSERT INTO t (id) VALUES (42);

ROLLBACK;

這樣,即使您回滾事務,MySQL也會保留自動增量值,并且會立即應用更改。


您可以通過發出SHOW CREATE TABLE t聲明來驗證這一點。你應該看到:


> SHOW CREATE TABLE t \G

*************************** 1. row ***************************

       Table: t

Create Table: CREATE TABLE `t` (

...

) ENGINE=InnoDB AUTO_INCREMENT=43 ...


查看完整回答
反對 回復 2019-08-30
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

如何在MySQL中從10開始自動遞增1:

create table foobar(

  id             INT PRIMARY KEY AUTO_INCREMENT,

  moobar         VARCHAR(500)

); 

ALTER TABLE foobar AUTO_INCREMENT=10;


INSERT INTO foobar(moobar) values ("abc");

INSERT INTO foobar(moobar) values ("def");

INSERT INTO foobar(moobar) values ("xyz");


select * from foobar;


'10', 'abc'

'11', 'def'

'12', 'xyz'

此自動將id列從10開始遞增1。


MySQL中的自動增量為5,從10開始:

drop table foobar

create table foobar(

  id             INT PRIMARY KEY AUTO_INCREMENT,

  moobar         VARCHAR(500)

); 

SET @@auto_increment_increment=5;

ALTER TABLE foobar AUTO_INCREMENT=10;


INSERT INTO foobar(moobar) values ("abc");

INSERT INTO foobar(moobar) values ("def");

INSERT INTO foobar(moobar) values ("xyz");


select * from foobar;

'11', 'abc'

'16', 'def'

'21', 'xyz'

此自動每次將id列增加5,從10開始。


查看完整回答
反對 回復 2019-08-30
  • 3 回答
  • 0 關注
  • 608 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號