Мақала анықтамалығы
MySQLТізбекті қалай құруға болады?MySQL деректер қорыАвтоматты түрде ұлғайтылатын тізбек мәлімдемесін жасаңыз
MySQL реттілігін пайдалану
MySQL тізбегі бүтін сандар жиыны болып табылады: 1, 2, 3, ..., өйткені деректер кестесінде тек бір өрісті автоматты ұлғайту негізгі кілті болуы мүмкін, егер сіз басқа өрістердің автоматты өсуіне қол жеткізгіңіз келсе, MySQL пайдалана аласыз. жету реттілігі.
Бұл тарауда біз MySQL тізбектерін пайдалану жолын сипаттайтын боламыз.
AUTO_INCREMENT пайдаланыңыз
MySQL жүйесінде тізбектерді пайдаланудың ең оңай жолы - бағандарды анықтау үшін MySQL AUTO_INCREMENT пайдалану.
Дана
Жәндік деректер кестесі келесі мысалда жасалған, мұнда автоматты өсу үшін мән көрсетілмеген.
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 клиентінде кестеге енгізілген соңғы автоматты түрде ұлғайтылған бағанның мәнін алу үшін SQL жүйесіндегі LAST_INSERT_ID() функциясын пайдалануға болады.
Сәйкес функциялар сонымен қатар кестеге енгізілген соңғы автоматты өсу бағанының мәнін алу үшін PHP немесе PERL сценарийінде берілген.
PERL данасы
AUTO_INCREMENT мәнін алу үшін mysql_insertid сипатын пайдаланыңыз.Мысалдар төмендегідей:
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
PHP мысалы
PHP mysql_insert_id() функциясы арқылы орындалған кірістіру SQL операторындағы AUTO_INCREMENT бағанының мәнін алады.
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
Соңғы жаңартуларды алу үшін Чен Вэйлян блогының Telegram арнасына қош келдіңіз!
📚 Бұл нұсқаулықта үлкен құндылық бар, 🌟Бұл сирек мүмкіндік, оны жіберіп алмаңыз! ⏰⌛💨
Ұнаса лайк басып, бөлісіңіз!
Сіздің бөлісулеріңіз бен лайктарыңыз - біздің үздіксіз мотивациямыз!