MYSQL:检查表是不是存在不起作用
Posted
技术标签:
【中文标题】MYSQL:检查表是不是存在不起作用【英文标题】:MYSQL: Check if table exists does not workMYSQL:检查表是否存在不起作用 【发布时间】:2014-07-23 13:20:36 【问题描述】:IF OBJECT_ID(N`db_291702_2`.`aaCoRrankingDateManage`, N'U') IS NOT NULL
BEGIN
PRINT 'Table Exists'
END
这有什么问题?为什么我会收到错误消息? how-to-check-if-a-table-exists-in-sql-server/ 中建议的方法都不适合我。
PS。 “不起作用”意味着像
这样的错误您的 SQL 语法有错误;检查与您的 mysql 服务器版本相对应的手册,以在第 1 行的 ''db_291702_2'.'aaCoRrankingDateManage' LIMIT 0, 30' 附近使用正确的语法
附加信息:
我用的是phpMyAdmin,我的两个数据库叫db_291702_1
和db_291702_2
,后者有两张表,其中一张叫aaCoRrankingDateManage
【问题讨论】:
单引号用于封装字符串,而不是表名 查看代码着色。你有奇数个单引号,这会给sql带来麻烦 你是对的,编辑了它,但没有改变任何东西 我似乎找不到任何使用OBJECT_ID()
的 MySQL 工作示例,我也无法在官方 MySQL 参考资料中找到它......也许它不是 MySQL 函数?这家伙有类似的问题:board.issociate.de/thread/260989/…
我认为接受的答案可以为您提供更多帮助:***.com/questions/1525784/…
【参考方案1】:
如果要转义表名或列名,请使用反引号
select `group` from table1
静态字符串必须包含在引号中
select * from users where name = 'john'
每个数据库引擎的语法都有点不同。以上适用于 MySQL,但 SQL-Server 有不同的语法。在那里,您使用方括号 []
来转义名称。
但是,如果您使用保留字,您只需要转义名称。你不必逃避一切。
【讨论】:
【参考方案2】:给定的源代码不是 MySQL 代码。
【讨论】:
MySQL 使用 SQL。你是说这是 T-SQL 吗? 在Mysql中使用这个if exists table_name1,table_name2...
以上是关于MYSQL:检查表是不是存在不起作用的主要内容,如果未能解决你的问题,请参考以下文章
检查 .txt 文件是不是存在。 FileWriter.exists 方法不起作用