代码之家  ›  专栏  ›  技术社区  ›  Majid Fouladpour

MySQL-为什么使用“IN”的查询失败?

  •  0
  • Majid Fouladpour  · 技术社区  · 14 年前

    SHOW FULL COLUMNS FROM `users`
    SHOW FULL COLUMNS FROM `teachers`
    

    但是这个会产生一个错误

    SHOW FULL COLUMNS IN  ('users', 'teachers')
    

    我试过单引号、双引号、反引号和无引号,都失败了。我做错什么了?

    错误在于:

    #1064 - You have an error in your SQL syntax; check the manual that 
    corresponds to your MySQL server version for the right 
    syntax to use near '('users', 'teachers')' at line 1
    
    2 回复  |  直到 14 年前
        1
  •  5
  •   Jason Swett    14 年前

    也许这给了你你想要的?

    SELECT *
      FROM information_schema.columns
     WHERE table_name IN ('users', 'teachers')
    
        2
  •  2
  •   Matchu    14 年前

    根据MySQL文档( section 12.4.5.5 ),可以使用关键字 IN FROM ,但它的含义与 WHERE 子句;它只是

    SHOW [FULL] COLUMNS {FROM | IN} tbl_name [{FROM | IN} db_name] [LIKE 'pattern']
    

    {FROM | IN} 表示两者是可交换的。事实上它没有说 {FROM tbl_name | IN (tbl_name1, tbl_name2, ...)} 意味着两者没有区别。

    我不确定在一个简单的查询中显示多个表的列是否可行。也许子查询可以做到这一点?(不是一个SQL向导,但这里有一些。)