在MySQL中可通過字段的AUTO_INCREMENT屬性來自動生成。
創(chuàng)新互聯(lián)建站是一家專業(yè)從事成都網(wǎng)站制作、成都網(wǎng)站設(shè)計的網(wǎng)絡(luò)公司。作為專業(yè)的建站公司,創(chuàng)新互聯(lián)建站依托的技術(shù)實力、以及多年的網(wǎng)站運營經(jīng)驗,為您提供專業(yè)的成都網(wǎng)站建設(shè)、成都全網(wǎng)營銷及網(wǎng)站設(shè)計開發(fā)服務(wù)!
mysql數(shù)據(jù)庫表主鍵自增長的sql語句
1、不控制主鍵的起點
create?table?emb_t_dictBusType
(
emb_c_busTypeID??????int?not?null?auto_increment,
emb_c_busTypeEnName??varchar(255)?not?null,
emb_c_busTypeZhName??varchar(255)?not?null,
primary?key(emb_c_busTypeID)??
)engine=INNODB??default?charset=gbk;
2、控制主鍵的起點
create?table?emb_t_dictBusType
(
emb_c_busTypeID??????int?not?null?auto_increment,
emb_c_busTypeEnName??varchar(255)?not?null,
emb_c_busTypeZhName??varchar(255)?not?null,
primary?key(emb_c_busTypeID)??
)engine=INNODB?auto_increment=1001?default?charset=gbk;
如果你數(shù)據(jù)庫已經(jīng)建立 用這個方法:
ALTER TABLE `test` CHANGE `id` `id` INT(11) NOT NULL AUTO_INCREMENT;
如果你數(shù)據(jù)庫沒有建立 ?就用CREATE :
如果你用的數(shù)據(jù)庫軟件 比如Navicat for MySQL。 ?那么在設(shè)計表選項里有設(shè)置自動增長的,打上勾
#1、查看現(xiàn)在mysql自增id的配置
show variables like '%increment%';
#2、下面步長為2的增長
+-------------------------------+-------+
| Variable_name???????????????? | Value |
+-------------------------------+-------+
|?auto_increment_increment????? | 2 ?? |
| auto_increment_offset???????? | 1???? |
| div_precision_increment?????? | 4???? |
| innodb_autoextend_increment?? | 8???? |
| ndb_autoincrement_prefetch_sz | 32??? |
+-------------------------------+-------+
5 rows in set (0.01 sec)
#3、解決
set auto_increment_increment = 1和set @@auto_increment_increment = 1
如果想永久性的改回為1,在my.cnf or my.ini中查找這個field,然后修改,然后restart mysql.
設(shè)置自增列
MYSQL的自增列一定要是有索引的列,設(shè)置種子值要在表的后面設(shè)置
--mysql
-- 設(shè)置自增ID從N開始
CREATE TABLE empautoinc(
ID INT PRIMARY KEY AUTO_INCREMENT
) AUTO_INCREMENT = 100 ; --(設(shè)置自增ID從100開始)
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è)置自增列的步長,可以分為全局級別和會話級別
如果是會話級別,那么當(dāng)用戶新建一個會話的時候,那么步長又回到了全局級別,所以mysql的步長跟sqlserver的步長有很大的不同
mysql不能設(shè)置為 表級別 的步長
私信666領(lǐng)取資料
分享題目:mysql怎么調(diào)自增長 mysql設(shè)置自動增長從1開始
網(wǎng)頁地址:http://muchs.cn/article46/dospoeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、服務(wù)器托管、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站設(shè)計、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)