Tutorial manual...login
Tutorial manual terbaru MySQL
pengarang:php.cn  masa kemas kini:2022-04-15 14:04:12

Penggunaan jujukan MySQL


Jujukan MySQL menggunakan

Jujukan MySQL ialah satu set integer: 1, 2, 3, ..., disebabkan oleh a Jadual data hanya boleh mempunyai satu medan dengan kunci utama autokenaikan. Jika anda ingin melaksanakan kenaikan automatik medan lain, anda boleh menggunakan urutan MySQL untuk mencapai ini.

Dalam bab ini kami akan memperkenalkan cara menggunakan jujukan MySQL.

Menggunakan AUTO_INCREMENT

Cara paling mudah untuk menggunakan jujukan dalam MySQL ialah menggunakan MySQL AUTO_INCREMENT untuk menentukan lajur.

Contoh

Sisipan jadual data dibuat dalam contoh berikut. ID dalam serangga boleh ditanam secara automatik tanpa menyatakan nilai.

mysql> CREATE TABLE insect
    -> (
    -> id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    -> PRIMARY KEY (id),
    -> name VARCHAR(30) NOT NULL, # type of insect
    -> date DATE NOT NULL, # date collected
    -> origin VARCHAR(30) NOT NULL # where collected
);
Query OK, 0 rows affected (0.02 sec)
mysql> INSERT INTO insect (id,name,date,origin) VALUES
    -> (NULL,'housefly','2001-09-10','kitchen'),
    -> (NULL,'millipede','2001-09-10','driveway'),
    -> (NULL,'grasshopper','2001-09-10','front yard');
Query OK, 3 rows affected (0.02 sec)
Records: 3  Duplicates: 0  Warnings: 0
mysql> SELECT * FROM insect ORDER BY id;
+----+-------------+------------+------------+
| id | name        | date       | origin     |
+----+-------------+------------+------------+
|  1 | housefly    | 2001-09-10 | kitchen    |
|  2 | millipede   | 2001-09-10 | driveway   |
|  3 | grasshopper | 2001-09-10 | front yard |
+----+-------------+------------+------------+
3 rows in set (0.00 sec)
Dapatkan nilai AUTO_INCREMENT

Dalam klien MySQL anda boleh gunakan Fungsi LAST_INSERT_ID() dalam SQL digunakan untuk mendapatkan nilai lajur kenaikan automatik terakhir yang dimasukkan ke dalam jadual.

Fungsi yang sepadan juga disediakan dalam skrip PHP atau PERL untuk mendapatkan nilai lajur kenaikan automatik terakhir yang dimasukkan ke dalam jadual.

Instance PERL

Gunakan atribut mysql_insertid untuk mendapatkan nilai AUTO_INCREMENT. Contohnya seperti berikut:

$dbh->do ("INSERT INTO insect (name,date,origin)
VALUES('moth','2001-09-14','windowsill')");
my $seq = $dbh->{mysql_insertid}

contoh PHP

PHP menggunakan fungsi mysql_insert_id () untuk mendapatkan nilai lajur AUTO_INCREMENT dalam penyata SQL sisipan dilaksanakan.

mysql_query ("INSERT INTO insect (name,date,origin)
VALUES('moth','2001-09-14','windowsill')", $conn_id);
$seq = mysql_insert_id ($conn_id)

Tetapkan Semula Jujukan

Jika anda memadamkan berbilang rekod dalam jadual data dan ingin melakukan lajur AUTO_INCREMENT pada data yang tinggal Untuk menyusun semula, anda boleh melakukan ini dengan memadamkan lajur yang bertambah dan kemudian menambahnya semula. Walau bagaimanapun, anda mesti berhati-hati dengan operasi ini Jika rekod baharu ditambah semasa memadam, huru-hara data mungkin berlaku. Operasi adalah seperti berikut:

mysql> ALTER TABLE insect DROP id;
mysql> ALTER TABLE insect
    -> ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,
    -> ADD PRIMARY KEY (id)

Tetapkan nilai permulaan jujukan

Secara amnya nilai permulaan jujukan ialah 1, tetapi jika anda perlu menentukan nilai permulaan 100, kemudian kita boleh melaksanakannya melalui pernyataan berikut:

mysql> CREATE TABLE insect
    -> (
    -> id INT UNSIGNED NOT NULL AUTO_INCREMENT = 100,
    -> PRIMARY KEY (id),
    -> name VARCHAR(30) NOT NULL, # type of insect
    -> date DATE NOT NULL, # date collected
    -> origin VARCHAR(30) NOT NULL # where collected
);
Atau anda juga boleh melaksanakannya melalui pernyataan berikut selepas jadual berjaya dibuat:
mysql> ALTER TABLE t AUTO_INCREMENT = 100

Tutorial video berkaitan yang disyorkan: Tutorial MySQL

Laman web PHP Cina