尋找並建立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 中:
$result = mysql_query("SHOW COLUMNS FROM `table` LIKE 'fieldname'"); $exists = (mysql_num_rows($result)) ? TRUE : FALSE;
如果查詢傳回任何行,則該列存在;否則,該列將存在。否則,它不會。有了這些信息,您就可以根據需要繼續建立列。
以上是如何可靠地檢查並新增 MySQL 表中缺少的欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!