Rumah > Artikel > pangkalan data > Rekod manakah yang disimpan apabila menggunakan `ALTER IGNORE TABLE ADD UNIQUE` dalam MySQL?
MySQL: ALTER IGNORE TABLE ADD UNIQUE - Rekod Implikasi Pemangkasan
Pernyataan ALTER TABLE dengan klausa IGNORE digunakan untuk menambah kekangan unik ke jadual, berpotensi mengalih keluar rekod pendua. Walau bagaimanapun, rekod tertentu yang disimpan boleh menimbulkan persoalan.
Soalan:
Apabila melaksanakan pernyataan berikut:
ALTER IGNORE TABLE `my_table` ADD UNIQUE (`type`, `owner`);
Rekod yang manakah akan disimpan jika terdapat berbilang rekod pendua dengan jenis dan nilai pemilik yang sama?
Jawapan:
Setakat MySQL 5.7.4, klausa IGNORE tidak lagi disokong dan penggunaannya akan mengakibatkan ralat.
Walau bagaimanapun, dalam versi MySQL terdahulu yang membenarkan klausa IGNORE:
Menurut dokumentasi MySQL, "first" berkemungkinan merujuk kepada rekod dengan nilai kunci utama yang paling rendah. Dalam kes anda, andaikan lajur ID ialah kunci utama, rekod dengan ID terkecil akan disimpan.
Atas ialah kandungan terperinci Rekod manakah yang disimpan apabila menggunakan `ALTER IGNORE TABLE ADD UNIQUE` dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!