Rakstu katalogs
MySQLKā izveidot secību?MySQL datu bāzeIzveidojiet automātiski pieaugošas secības priekšrakstu
MySQL secību izmantošana
MySQL secība ir veselu skaitļu kopa: 1, 2, 3, ..., jo datu tabulā var būt tikai viena lauka automātiskās palielināšanas primārā atslēga, ja vēlaties panākt automātisku citu lauku palielināšanu, varat izmantot MySQL secību, lai sasniegt.
Šajā nodaļā mēs aprakstīsim, kā izmantot MySQL sekvences.
Izmantojiet AUTO_INCREMENT
Vienkāršākais veids, kā MySQL izmantot secības, ir izmantot MySQL AUTO_INCREMENT, lai definētu kolonnas.
Piemērs
Datu tabula Kukainis ir izveidota nākamajā piemērā, kur automātiskai augšanai nav norādīta vērtība.
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 秒)
Iegūstiet vērtību AUTO_INCREMENT
MySQL klientā varat izmantot SQL funkciju LAST_INSERT_ID(), lai iegūtu pēdējās automātiski palielinātās kolonnas vērtību, kas ievietota tabulā.
Atbilstošās funkcijas tiek nodrošinātas arī PHP vai PERL skriptā, lai iegūtu pēdējās tabulā ievietotās automātiskās palielināšanas kolonnas vērtību.
PERL gadījums
Izmantojiet rekvizītu mysql_insertid, lai iegūtu AUTO_INCREMENT vērtību.Piemēri ir šādi:
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
PHP piemērs
PHP iegūst kolonnas AUTO_INCREMENT vērtību izpildītajā ievietošanas SQL priekšrakstā, izmantojot funkciju mysql_insert_id().
mysql_query (“INSERT INTO昆虫(名字,日期,起源) VALUES('moth','2001-09-14','windowsill')“ ,$ conn_id ); $ seq = mysql_insert_id ($ conn_id );
atiestatīt secību
Ja datu tabulā izdzēšat vairākus ierakstus un vēlaties pārkārtot atlikušo datu kolonnu AUTO_INCREMENT, varat to izdarīt, izdzēšot automātiskās palielināšanas kolonnu un pēc tam pievienojot to vēlreiz.Tomēr šai darbībai ir jābūt ļoti uzmanīgai, ja vispār.Vienlaikus ar dzēšanu tiek pievienoti jauni ieraksti un var rasties datu neskaidrības. Darbības ir šādas:
mysql > ALTER TABLE昆虫DROP ID ; mysql > ALTER TABLE昆虫 - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,- > ADD PRIMARY KEY (id );
Iestatiet secības sākuma vērtību
Parasti secības sākuma vērtība ir 1, bet, ja jums ir jānorāda sākuma vērtība 100, mēs to varam izdarīt ar šādu paziņojumu:
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 ;
Vai arī pēc tabulas veiksmīgas izveides varat izmantot šādu paziņojumu:
mysql > ALTER TABLE t AUTO_INCREMENT = 100 ;
Hope Chen Weiliang emuārs ( https://www.chenweiliang.com/ ) koplietots "Kā MySQL izveido secību? MySQL datu bāze, lai izveidotu pašpalielinošu secības paziņojumu", lai palīdzētu jums.
Laipni lūdzam kopīgot šī raksta saiti:https://www.chenweiliang.com/cwl-498.html
Laipni lūdzam Chen Weiliang emuāra Telegram kanālā, lai saņemtu jaunākos atjauninājumus!
📚 Šajā rokasgrāmatā ir milzīga vērtība, 🌟Šī ir reta iespēja, nepalaidiet to garām! ⏰⌛💨
Dalies un patīk, ja patīk!
Jūsu kopīgošana un atzīmes Patīk ir mūsu nepārtraukta motivācija!