通過(guò)?AUTO_INCREMENT設(shè)置
創(chuàng)新互聯(lián)專注于開(kāi)魯網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供開(kāi)魯營(yíng)銷型網(wǎng)站建設(shè),開(kāi)魯網(wǎng)站制作、開(kāi)魯網(wǎng)頁(yè)設(shè)計(jì)、開(kāi)魯網(wǎng)站官網(wǎng)定制、小程序定制開(kāi)發(fā)服務(wù),打造開(kāi)魯網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供開(kāi)魯網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
SQL?INSERT語(yǔ)句的時(shí)候,要避免?指定那個(gè)自增的字段.否則會(huì)發(fā)生主鍵的沖突。
通過(guò)?ALTER?TABLE語(yǔ)句?可以修改?自增的數(shù)值,?但是只能增加,不能減少。
TRUNCATE?TABLE?語(yǔ)句,會(huì)將自增ID重置為零。
mysql?CREATE?TABLE?test_create_tab2?(
-???id???INT??AUTO_INCREMENT,
-???val??VARCHAR(10),
-???PRIMARY?KEY?(id)
-?);
Query?OK,?0?rows?affected?(0.09?sec)
mysql?INSERT?INTO?test_create_tab2(val)?VALUES?('NO?id');
Query?OK,?1?row?affected?(0.03?sec)
mysql?select?last_insert_id()?as?id;
+----+
|?id?|
+----+
|??1?|
+----+
1?row?in?set?(0.00?sec)
mysql?INSERT?INTO?test_create_tab2(val)?VALUES?('NO?id?2');
Query?OK,?1?row?affected?(0.03?sec)
mysql?select?last_insert_id()?as?id;
+----+
|?id?|
+----+
|??2?|
+----+
1?row?in?set?(0.00?sec)
mysql?select?*?from?test_create_tab2;
+----+---------+
|?id?|?val?????|
+----+---------+
|??1?|?NO?id???|
|??2?|?NO?id?2?|
+----+---------+
2?rows?in?set?(0.00?sec)
設(shè)置自增列
MYSQL的自增列一定要是有索引的列,設(shè)置種子值要在表的后面設(shè)置
--mysql
-- 設(shè)置自增ID從N開(kāi)始
CREATE TABLE empautoinc(
ID INT PRIMARY KEY AUTO_INCREMENT
) AUTO_INCREMENT = 100 ; --(設(shè)置自增ID從100開(kāi)始)
insert into empautoinc(id) values(null);
Query OK, 1 row affected (0.00 sec)
mysql select * from empautoinc;
+-----+
| ID |
+-----+
| 100 |
+-----+
1 row in set (0.00 sec)
show table status like 'empautoinc'G;
*************************** 1. row ***************************
Name: empautoinc
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 1
Avg_row_length: 16384
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: 101
Create_time: 2016-10-27 01:50:32
Update_time: NULL
Check_time: NULL
Collation: utf8_general_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)
設(shè)置自增列的步長(zhǎng),可以分為全局級(jí)別和會(huì)話級(jí)別
如果是會(huì)話級(jí)別,那么當(dāng)用戶新建一個(gè)會(huì)話的時(shí)候,那么步長(zhǎng)又回到了全局級(jí)別,所以mysql的步長(zhǎng)跟sqlserver的步長(zhǎng)有很大的不同
mysql不能設(shè)置為 表級(jí)別 的步長(zhǎng)
私信666領(lǐng)取資料
如果希望在每次插入新記錄時(shí),自動(dòng)地創(chuàng)建主鍵字段的值??梢栽诒碇袆?chuàng)建一個(gè) auto-increment 字段。MySQL 使用 AUTO_INCREMENT 關(guān)鍵字來(lái)執(zhí)行 auto-increment 任務(wù)。默認(rèn)地AUTO_INCREMENT 的開(kāi)始值是 1,每條新記錄遞增 1。
主鍵又稱主關(guān)鍵字,主關(guān)鍵字(primary key)是表中的一個(gè)或多個(gè)字段,它的值用于唯一地標(biāo)識(shí)表中的某一條記錄。
CREATE TABLE phoneMst(
id INT NOT NULL AUTO_INCREMENT,
phone int NOT NULL,
PRIMARY KEY (id)
);