Директориум за статии
MySQL,Како да креирате низа?MySQL база на податоциКреирајте изјава за секвенца со автоматско зголемување
Користење на секвенца на MySQL
MySQL секвенцата е збир од цели броеви: 1, 2, 3, ..., бидејќи табелата со податоци може да има само едно поле примарен клуч за автоматско зголемување, ако сакате да постигнете автоматско зголемување на други полиња, можете да ја користите секвенцата на MySQL за постигне.
Во ова поглавје ќе опишеме како да ги користиме секвенците на MySQL.
Користете AUTO_INCREMENT
Најлесен начин да се користат секвенци во MySQL е да се користи MySQL AUTO_INCREMENT за да се дефинираат колони.
Инстанца
Табелата со податоци Insect е креирана во следниот пример, во која не е одредена вредност за автоматско растење.
mysql > CREATE TABLE昆虫 - > (- > id INT UNSIGNED NOT NULL AUTO_INCREMENT ,- > PRIMARY KEY (id ),- > name VARCHAR (30 )NOT NULL ,#昆虫类型- > 日期DATE NOT NULL ,#收集日期- > origin VARCHAR (30 )NOT NULL #where collected ); 查询OK ,0 行受影响(0.02 秒) mysql > INSERT INTO insects (id ,name ,date ,origin )VALUES - > (NULL ,'housefly' ,'2001-09-10' ,'kitchen' ),- > (NULL ,'millipede' ,'2001-09-10 ' ,'车道' ),- > (NULL ,'grasshopper' ,'2001-09-10' ,'front yard' ); 查询OK , 秒)记录:3 重复:0 警告:0 mysql > 选择* 从昆虫ORDER BY ID ; + ---- + ------------- + ------------ + ------------ + | id | 名字 | 日期 | 起源 | + ---- + ------------- + ------------ + ------------ + | 1 | 家蝇 | 2001 - 09 - 10 | 厨房 | | 2 | 千足虫 | 2001 - 09 - 10 | 车道 | | 3 | 蚱蜢| 2001 - 09 - 10 | 前院| + ---- + ------------- + ------------ + ------------ + 3 行中集(0.00 秒)
Добијте вредност AUTO_INCREMENT
Во клиентот MySQL можете да ја користите функцијата LAST_INSERT_ID() во SQL за да ја добиете вредноста на последната автоматско зголемена колона вметната во табелата.
Соодветните функции се обезбедени и во скриптата PHP или PERL за да се добие вредноста на последната автоматско зголемена колона вметната во табелата.
PERL пример
Користете го својството mysql_insertid за да ја добиете вредноста на AUTO_INCREMENT.Примерите се како што следува:
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
PHP пример
PHP ја добива вредноста на колоната AUTO_INCREMENT во извршената изјава за внесување SQL преку функцијата mysql_insert_id().
mysql_query (“INSERT INTO昆虫(名字,日期,起源) VALUES('moth','2001-09-14','windowsill')“ ,$ conn_id ); $ seq = mysql_insert_id ($ conn_id );
ресетирање низа
Ако избришете повеќе записи во табелата со податоци и сакате да ја преуредите колоната AUTO_INCREMENT на преостанатите податоци, можете да го направите тоа со бришење на колоната за автоматско зголемување и потоа повторно додавање.Сепак, оваа операција треба да биде многу внимателна, доколку постои.Во исто време на бришење, се додаваат нови записи и може да има конфузија на податоците. Операциите се како што следува:
mysql > ALTER TABLE昆虫DROP ID ; mysql > ALTER TABLE昆虫 - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,- > ADD PRIMARY KEY (id );
Поставете ја почетната вредност на низата
Во принцип, почетната вредност на низата е 1, но ако треба да наведете почетна вредност од 100, тогаш можеме да го направиме тоа со следнава изјава:
mysql > CREATE TABLE昆虫 - > (- > id INT UNSIGNED NOT NULL AUTO_INCREMENT ,- > PRIMARY KEY (id ),- > name VARCHAR (30 )NOT NULL ,- > date DATE NOT NULL ,- > origin VARCHAR (30 )NOT NULL )engine = innodb auto_increment = 100 charset = utf8 ;
Или, исто така, можете да ја користите следнава изјава откако табелата е успешно креирана:
mysql > ALTER TABLE t AUTO_INCREMENT = 100 ;
Блог на Hope Chen Weiliang ( https://www.chenweiliang.com/ ) сподели „Како MySQL создава секвенца? MySQL база на податоци за креирање на изјава за секвенца што се зголемува самостојно“, за да ви помогне.
Добредојдовте да ја споделите врската од оваа статија:https://www.chenweiliang.com/cwl-498.html
Добредојдовте на Телеграмскиот канал на блогот на Чен Веилијанг за да ги добиете најновите ажурирања!
📚 Овој водич содржи огромна вредност, 🌟Ова е ретка можност, не ја пропуштајте! ⏰⌛💨
Споделете и лајкнете ако ви се допаѓа!
Вашето споделување и лајкови се наша континуирана мотивација!