这些查询会返回正确的结果:
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
答案 0 :(得分:5)
也许这会给你你想要的东西?
SELECT *
FROM information_schema.columns
WHERE table_name IN ('users', 'teachers')
答案 1 :(得分:2)
根据MySQL文档(section 12.4.5.5),您可以使用关键字IN
代替FROM
,但它与WHERE
中的含义不同}子句在这种情况下,它只是FROM
的同义词。
SHOW [FULL] COLUMNS {FROM | IN} tbl_name [{FROM | IN} db_name] [LIKE 'pattern']
{FROM | IN}
表示两者是可互换的。它没有说{FROM tbl_name | IN (tbl_name1, tbl_name2, ...)}
之类的事实意味着两者之间没有区别。
我不确定在一个简单查询中是否可以显示多个表的列。也许子查询可以做到这一点? (不是SQL向导,但这里有一些。)