Κατάλογος άρθρου
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/ ) shared "Πώς δημιουργεί μια ακολουθία η MySQL; Βάση δεδομένων MySQL για τη δημιουργία δήλωσης ακολουθίας αυτοαύξησης», για να σας βοηθήσει.
Καλώς ήρθατε να μοιραστείτε τον σύνδεσμο αυτού του άρθρου:https://www.chenweiliang.com/cwl-498.html
Καλώς ήρθατε στο κανάλι Telegram του ιστολογίου του Chen Weiliang για να λαμβάνετε τις τελευταίες ενημερώσεις!
📚 Αυτός ο οδηγός περιέχει τεράστια αξία, 🌟Αυτή είναι μια σπάνια ευκαιρία, μην τη χάσετε! ⏰⌛💨
Κοινοποιήστε και κάντε like αν σας αρέσει!
Η κοινή χρήση και τα like σας είναι το συνεχές μας κίνητρο!