Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memeriksa dan Mencipta Lajur dengan Amanah dalam MySQL?

Bagaimanakah Saya Boleh Memeriksa dan Mencipta Lajur dengan Amanah dalam MySQL?

Barbara Streisand
Barbara Streisandasal
2024-12-14 10:36:11791semak imbas

How Can I Reliably Check for and Create a Column in MySQL?

Mengesahkan Kewujudan Lajur dalam Jadual MySQL

Menentukan kehadiran lajur tertentu dalam jadual MySQL ialah tugas asas dalam pengaturcaraan pangkalan data. Walau bagaimanapun, berbanding sistem pangkalan data hubungan yang lain, pendekatan MySQL terhadap pertanyaan ini boleh membingungkan.

Pertimbangkan percubaan pertanyaan berikut, direka untuk kedua-dua menyemak dan mencipta lajur jika ia tiada:

IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS
           WHERE TABLE_NAME='prefix_topic' AND column_name='topic_last_update')
BEGIN
ALTER TABLE `prefix_topic` ADD `topic_last_update` DATETIME NOT NULL;
UPDATE `prefix_topic` SET `topic_last_update` = `topic_date_add`;
END;

Malangnya, kod ini gagal kerana pengendalian MySQL terhadap pernyataan bersyarat yang melibatkan manipulasi data operasi.

Penyelesaian Boleh Dipercayai

Untuk menyemak dan mencipta lajur dalam MySQL dengan pasti, cuba pendekatan alternatif ini:

SHOW COLUMNS FROM `table` LIKE 'fieldname';

Pertanyaan ini mendapatkan semula baris hanya jika nama medan yang ditentukan wujud dalam jadual. Anda kemudiannya boleh menggunakan keputusan untuk membuat keputusan dalam kod anda.

Sebagai contoh, dalam PHP:

$result = mysql_query("SHOW COLUMNS FROM `table` LIKE 'fieldname'");
$exists = (mysql_num_rows($result))?TRUE:FALSE;

Kesimpulan

Menyemak dan memanipulasi lajur dalam MySQL memerlukan pendekatan yang berbeza daripada dalam banyak sistem pangkalan data lain. Dengan menggunakan pertanyaan SHOW COLUMNS, anda boleh memastikan pengesahan lajur dan manipulasi yang boleh dipercayai dalam aplikasi MySQL anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memeriksa dan Mencipta Lajur dengan Amanah dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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