Menambah Autoincrement pada Jadual Sedia Ada dalam MySQL
Jika anda mewarisi pangkalan data yang tidak mempunyai auto-incrementer, anda masih boleh mendayakan ciri ini. Begini cara untuk menukar lajur kunci utama kepada medan peningkatan automatik:
ALTER TABLE table_name MODIFY COLUMN id INT NOT NULL AUTO_INCREMENT;
Lajur id kini akan menjana nilai unik secara automatik untuk baris baharu yang dimasukkan ke dalam jadual.
Walau bagaimanapun, apabila mengubah suai lajur dengan kebergantungan kunci asing (cth., apabila jadual lain merujuk id), anda mungkin menghadapi ralat 150. Untuk menyelesaikan masalah ini:
Setelah ciri kenaikan automatik disediakan, masukkan baharu baris tanpa menyatakan nilai untuk lajur id akan mengisinya dengan nilai unik dan berturut-turut:
INSERT INTO table_name () VALUES ();
Dengan mengubah suai takrifan lajur, anda mengelakkan keperluan untuk mencipta lajur baharu dan menggugurkan lajur asal, mengekalkan kekangan kunci utama jadual dan mengekalkan integriti rujukan.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menambah kenaikan automatik pada jadual sedia ada dalam MySQL tanpa kehilangan data atau melanggar kekangan kunci asing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!