Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-为什么使用';在';失败?_Mysql_Error Handling - Fatal编程技术网

MySQL-为什么使用';在';失败?

MySQL-为什么使用';在';失败?,mysql,error-handling,Mysql,Error Handling,这些查询返回正确的结果: 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 corresp

这些查询返回正确的结果:

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

根据MySQL文档(),您可以在中使用关键字
,而不是从
中使用
,但它的含义与
WHERE
子句中的含义不同;在这种情况下,它只是来自
的同义词

SHOW [FULL] COLUMNS {FROM | IN} tbl_name [{FROM | IN} db_name] [LIKE 'pattern']
{FROM|IN}
表示两者可以互换。事实上,它没有说类似于
{FROM tbl_name | IN(tbl_name 1,tbl_name 2,…)}
的东西,这意味着两者之间没有区别


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

也许这会告诉你你想要什么

SELECT *
  FROM information_schema.columns
 WHERE table_name IN ('users', 'teachers')

对于
SHOW FULL COLUMNS
查询,这实际上是有效的语法吗?可能不是。这是手册上的:
SHOW[FULL]COLUMNS{from|IN}tbl_name[{from|IN}db_name][像‘pattern’]
Ooh,出现了一个SQL向导:)+1,用于将问题跳过到真正重要的@Matchu-谢谢。是否有文件证明
中的
的含义与其通常的含义不同?(如果是这样,我看不出它有什么用处)@Majid-我认为这只是美学。MySQL中有很多地方的某些关键词是等价的,只是因为有些人有不同的口味
SHOW COLUMNS IN users
作为一个英语句子读起来肯定更好,但在MySQL中更常用的是
FROM
。无聊的。权衡。