mysql - 使用 MYSQL,如果表已经存在,我如何查询它?
问题描述
我正在编写迁移,并且仅当表存在于数据库中时才尝试查询表。在某些环境中它会存在,而在其他环境中它不会存在,这就是我要检查它是否存在的原因。感兴趣的表称为 OLD_PASSWORD。我执行以下操作。
SELECT ID, PASSWORD
FROM OLD_PASSWORD;
WHERE EXISTS
(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'OLD_PASSWORD);
这失败了'.dbcSQLSyntaxErrorException:找不到表“USER_OLD_PASSWORDS”;' 这是有道理的,因为它不会存在于某些环境中。
我也尝试过类似的东西
IF (EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'OLD_PASSWORD'))
BEGIN
SELECT ID,
PASSWORD
FROM OLD_PASSWORD
END
但它与mysql不兼容。
解决方案
推荐阅读
- sql-server - 如何在 vb 中使用 Windows 窗体从 SQL Server 填充 ComboBox?无法绑定到新的显示成员。参数名称:新的DisplayMember
- angular - Angular:单击子元素时如何将类添加到父级
- python - 如何使 Regex re.search(r"\s", word) 不将 \n 视为空格?
- java - 如何在 Adroid Studio 中获取嵌套微调器的索引?
- php - PHP 致命错误:您必须启用 intl 扩展才能使用 CakePHP。蛋糕版本 4,PHP 版本 7.4
- python - 是否可以在 ArgumentParser 中的操作后运行类型?
- graphics - 金属混合 alpha 低于 0.5
- python - Python 链表 - 插入方法
- sql-server - Blazor 服务器应用程序;在浏览器中刷新作为类的属性返回 nul
- mysql - Amcharts v4 MySQL 不显示图表