验证 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 处理涉及数据操作的条件语句,此代码失败
可靠的解决方案
要可靠地在 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 中操作列需要采用与许多其他数据库系统不同的方法。通过利用 SHOW COLUMNS 查询,您可以确保 MySQL 应用程序中可靠的列验证和操作。
以上是如何在 MySQL 中可靠地检查和创建列?的详细内容。更多信息请关注PHP中文网其他相关文章!