【问题标题】: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_1db_291702_2,后者有两张表,其中一张叫aaCoRrankingDateManage

【问题讨论】:

  • 单引号用于封装字符串,而不是表名
  • 查看代码着色。你有奇数个单引号,这会给sql带来麻烦
  • 你是对的,编辑了它,但没有改变任何东西
  • 我似乎找不到任何使用OBJECT_ID() 的 MySQL 工作示例,我也无法在官方 MySQL 参考资料中找到它......也许它不是 MySQL 函数?这家伙有类似的问题:board.issociate.de/thread/260989/…
  • 我认为接受的答案可以为您提供更多帮助:stackoverflow.com/questions/1525784/…

标签: mysql exists


【解决方案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...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    • 1970-01-01
    • 2014-06-29
    • 2018-02-15
    • 1970-01-01
    相关资源
    最近更新 更多