检查 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中文网其他相关文章!