Latest web development tutorials

MySQL digunakan urut

MySQL adalah urutan bilangan bulat: 1, 2, 3, ..., sebagai tabel data hanya dapat memiliki satu bidang kunci utama kenaikan, jika Anda ingin menerapkan bidang tambahan secara otomatis meningkat, Anda dapat menggunakan urutan MySQL untuk mencapai.

Dalam bab ini kita akan menjelaskan bagaimana menggunakan urutan MySQL.


Gunakan AUTO_INCREMENT

MySQL metode yang paling sederhana adalah dengan menggunakan urutan untuk menentukan penggunaan kolom MySQL AUTO_INCREMENT.

contoh

Contoh berikut membuat serangga tabel data, serangga tanpa menentukan nilai dari id secara otomatis dapat meningkatkan.

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)

Mendapatkan nilai AUTO_INCREMENT

Dalam MySQL klien Anda dapat menggunakan fungsi SQL LAST_INSERT_ID () untuk mengambil nilai terakhir dimasukkan ke dalam auto-increment tabel.

Dalam PHP atau script PERL juga menyediakan fungsi yang sesuai untuk mendapatkan nilai untuk terakhir dimasukkan meja auto-kenaikan.

contoh PERL

Menggunakan properti mysql_insertid untuk mendapatkan nilai AUTO_INCREMENT. Contohnya adalah sebagai berikut:

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

Contoh PHP

PHP untuk mendapatkan nilai ke dalam SQL pernyataan dieksekusi kolom AUTO_INCREMENT oleh mysql_insert_id () fungsi.

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

ulang urutan

Jika Anda menghapus data dalam tabel beberapa catatan, dan berharap kolom data AUTO_INCREMENT tersisa untuk mengatur ulang, maka Anda dapat menghapus kolom dari tumbuh, kemudian menambahkannya kembali untuk mencapai. Namun, operasi untuk sangat berhati-hati jika Anda memiliki catatan baru ditambahkan pada saat yang sama dihapus, mungkin ada data yang chaos. Operasi adalah sebagai berikut:

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

Mengatur nilai awal dari urutan

Dalam keadaan normal nilai urutan awal 1, tetapi jika Anda perlu menentukan nilai awal 100, maka kita dapat mencapai 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 dapat membuat tabel dalam keberhasilan yang dicapai oleh pernyataan berikut:

mysql> ALTER TABLE t AUTO_INCREMENT = 100;