設(shè)置自增列
創(chuàng)新互聯(lián)建站-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比高平網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式高平網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋高平地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴(lài)。
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)用戶(hù)新建一個(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。
主鍵又稱(chēng)主關(guān)鍵字,主關(guān)鍵字(primary key)是表中的一個(gè)或多個(gè)字段,它的值用于唯一地標(biāo)識(shí)表中的某一條記錄。
如何在MYSQL插數(shù)據(jù)ID自增的方法。
如下參考:
1.在添加字段之前,第一個(gè)應(yīng)該首先檢查當(dāng)前tb1表的結(jié)構(gòu),如下圖所示。
2.實(shí)例字段列添加到表,如下所示。
3.再次看表結(jié)構(gòu)和比較之前和之后的情況添加字段,如下圖所示。
4.最后,插入新的數(shù)據(jù)行看到的樣子,最后添加自動(dòng)增長(zhǎng)的字段,如下所示。
注意事項(xiàng):
MySQL使用的SQL語(yǔ)言是訪問(wèn)數(shù)據(jù)庫(kù)最常用的標(biāo)準(zhǔn)語(yǔ)言。MySQL軟件采用雙重許可政策,分為社區(qū)版,商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特性,一般中小網(wǎng)站開(kāi)發(fā)選擇MySQL作為數(shù)據(jù)庫(kù)。
DROP TABLE?IF?EXISTS?`jk`.`jkrecord`;
CREATE TABLE `jk`.`jkrecord` (
`user1` varchar(45) NOT?NULL,
`user2` varchar(45) NOT?NULL,
`user3` varchar(45) NOT?NULL,
`day` timestamp NOT NULL?DEFAULT?'0000-00-00 00:00:00',
`number` int(10) unsigned NOT NULL?AUTO_INCREMENT,
PRIMARY KEY (`number`)
)?ENGINE=InnoDB?AUTO_INCREMENT=7?DEFAULT?CHARSET=utf8;
number字段的定義,無(wú)符號(hào)int型,非空,自動(dòng)增長(zhǎng),這樣在插入數(shù)據(jù)的時(shí)候,number字段就會(huì)自動(dòng)加一。
擴(kuò)展資料:
注意事項(xiàng)
number可以存儲(chǔ)浮點(diǎn)數(shù),也可以存儲(chǔ)整數(shù)。Number(n,m)
int類(lèi)型只能存放整數(shù)。
1、number(4,3)是表示這個(gè)數(shù)一共有4位是有效位,后面的3表示有3個(gè)是小數(shù)也就是這個(gè)數(shù),只能是1.234,這樣格式的最大只能是9.999,
2、number(3,4) 表示這個(gè)數(shù),有效位數(shù)是3位。但是有四位小數(shù),也就是只能是這個(gè)格式0.0123最大只能是0.0999;
3、number(3,-3) 就是這個(gè)數(shù)有效位數(shù)一共3位,如果是正3,則是3位小數(shù)。如果是負(fù)數(shù)的話就是3位整數(shù),也就是123這個(gè)格式,最大只能是999.
4、還有這樣的number(2,-3) 就是這個(gè)數(shù)的有效位數(shù)是2位 但是有三位整數(shù) 所以只能是230 這樣的 最大是990;
類(lèi)型:
TINYINT(size):128 到 127 常規(guī)。0 到 255 無(wú)符號(hào)*。在括號(hào)中規(guī)定最大位數(shù)。 ?
SMALLINT(size):32768 到 32767 常規(guī)。0 到 65535 無(wú)符號(hào)*。在括號(hào)中規(guī)定最大位數(shù)。 ?
MEDIUMINT(size) :8388608 到 8388607 普通。0 to 16777215 無(wú)符號(hào)*。在括號(hào)中規(guī)定最大位數(shù)。 ?
INT(size) :2147483648 到 2147483647 常規(guī)。0 到 4294967295 無(wú)符號(hào)*。在括號(hào)中規(guī)定最大位數(shù)。 ?
BIGINT(size):9223372036854775808 到 9223372036854775807 常規(guī)。0 到 18446744073709551615 無(wú)符號(hào)*。在括號(hào)中規(guī)定最大位數(shù)。 ?
FLOAT(size,d):帶有浮動(dòng)小數(shù)點(diǎn)的小數(shù)字。在括號(hào)中規(guī)定最大位數(shù)。在 d 參數(shù)中規(guī)定小數(shù)點(diǎn)右側(cè)的最大位數(shù)。 ?
DOUBLE(size,d):帶有浮動(dòng)小數(shù)點(diǎn)的大數(shù)字。在括號(hào)中規(guī)定最大位數(shù)。在 d 參數(shù)中規(guī)定小數(shù)點(diǎn)右側(cè)的最大位數(shù)。 ?
DECIMAL(size,d):作為字符串存儲(chǔ)的 DOUBLE 類(lèi)型,允許固定的小數(shù)點(diǎn)。 ?