Mengubah Jadual MySQL dengan Selamat dengan Penambahan Lajur Bersyarat
Apabila bekerja dengan jadual MySQL, adalah penting untuk memastikan sebarang perubahan dilaksanakan dengan tepat tanpa menjejaskan integriti data. Satu tugas biasa ialah menambah lajur pada jadual sedia ada; namun, jika lajur yang diingini sudah wujud, menambahkannya sekali lagi boleh menyebabkan ralat. Untuk mengelakkan isu ini, penambahan lajur bersyarat menggunakan syarat JIKA TIDAK WUJUD ialah teknik yang bernilai.
Soalan yang dikemukakan melibatkan penambahan lajur bernama multi_user pada jadual tetapan hanya jika ia tidak wujud. Walaupun beberapa kaedah telah dicuba, termasuk menggunakan sintaks TAMBAH COLUMN JIKA TIDAK WUJUD, tiada satu pun yang berjaya.
Jawapan yang diberikan mencadangkan penyelesaian yang mudah dan boleh dipercayai menggunakan prosedur tersimpan. Dengan menggunakan jadual INFORMATION_SCHEMA.COLUMNS, prosedur menyemak secara dinamik sama ada lajur berbilang pengguna wujud dalam jadual tetapan. Jika tidak, pengubahsuaian dilakukan menggunakan arahan ALTER TABLE.
Berikut ialah kod prosedur tersimpan yang diperbetulkan:
IF NOT EXISTS( SELECT NULL FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'settings' AND table_schema = 'your_database_name' AND column_name = 'multi_user') THEN ALTER TABLE `settings` ADD `multi_user` TINYINT(1) NOT NULL default '0'; END IF;
Kod ini dengan berkesan memastikan bahawa lajur multi_user ditambahkan hanya jika ia tidak wujud dalam jadual tetapan. Ia merupakan pendekatan yang mudah dan kalis ralat untuk penambahan lajur bersyarat dalam MySQL.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Lajur dengan Selamat pada Jadual MySQL Hanya Jika Ia Belum Wujud?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!