檢查 MySQL 表中欄位是否存在
驗證 MySQL 表中欄位是否存在對於資料庫管理和資料操作至關重要。然而,與企業級資料庫不同,MySQL 需要特定的方法來完成此任務。
考慮以下查詢:
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;
雖然直觀,但此查詢在 MySQL 中失敗。為了解決這個問題,建議使用更直接的方法:
SHOW COLUMNS FROM `table` LIKE 'fieldname';
PHP 實作
使用PHP,您可以執行以下查詢:
$result = mysql_query("SHOW COLUMNS FROM `table` LIKE 'fieldname'"); $exists = (mysql_num_rows($result))?TRUE:FALSE;
說明
演出COLUMNS命令提供有關表中特定列的資訊。透過使用 LIKE 運算符,您可以篩選結果以僅包含具有符合名稱的欄位。如果查詢返回至少一行,則表示該列存在;否則就不會。
以上是如何檢查MySQL中的列是否存在?的詳細內容。更多資訊請關注PHP中文網其他相關文章!