Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Auto-Naik Lajur Bukan Pertama dalam Kunci Utama Bersama MySQL?

Bagaimana untuk Auto-Naik Lajur Bukan Pertama dalam Kunci Utama Bersama MySQL?

DDD
Lepaskan: 2024-12-15 02:35:08
asal
369 orang telah melayarinya

How to Auto-Increment a Non-First Column in a MySQL Joint Primary Key?

Auto-Peningkatan Menggunakan Kunci Utama Bersama dalam MySQL

MySQL membenarkan penciptaan jadual dengan berbilang kunci utama, tetapi ia tidak secara asli menyokong penambahan automatik pada lajur utama bukan pertama. Untuk menangani perkara ini, pertimbangkan pendekatan berikut untuk mencipta kunci utama bersama dengan kenaikan automatik berdasarkan lajur tertentu:

Enjin MyISAM

Untuk jadual MyISAM, anda boleh tentukan AUTO_INCREMENT pada lajur kedua dalam indeks berbilang lajur. Ini bermakna adalah mungkin untuk menambah automatik pada lajur table_id berdasarkan nilai database_id.

CREATE TABLE mytable (
    table_id MEDIUMINT NOT NULL AUTO_INCREMENT,
    database_id MEDIUMINT NOT NULL,
    other_column CHAR(30) NOT NULL,
    PRIMARY KEY (database_id, table_id)
) ENGINE=MyISAM;
Salin selepas log masuk

Contoh

Menggunakan data sampel anda, anda boleh mencapai yang diingini tingkah laku seperti berikut:

INSERT INTO mytable (database_id, other_column) VALUES
    (1,'Foo'),(1,'Bar'),(2,'Baz'),(1,'Bam'),(2,'Zam'),(3,'Zoo');

SELECT * FROM mytable ORDER BY database_id, table_id;
Salin selepas log masuk

Ini akan menjana ID jadual berdasarkan pangkalan data yang sepadan ID:

+----------+-------------+--------------+
| table_id | database_id | other_column |
+----------+-------------+--------------+
|        1 |           1 | Foo          |
|        2 |           1 | Bar          |
|        3 |           1 | Bam          |
|        1 |           2 | Baz          |
|        2 |           2 | Zam          |
|        1 |           3 | Zoo          |
+----------+-------------+--------------+
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Auto-Naik Lajur Bukan Pertama dalam Kunci Utama Bersama MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan