所以我在MySQL Workbench中创建了一个数据库,我试图在MySQL命令行客户端上查看它们,因为我想在那里查询而不是工作台。
以下是发生的事情:
mysql> use policestation(crime);
Database changed
mysql> show tables;
+--------------------------------+
| Tables_in_policestation(crime) |
+--------------------------------+
| accused |
| case |
| complainant |
| investigation_officer |
| outcome |
| section_of_law |
+--------------------------------+
6 rows in set (0.04 sec)
mysql> select * from case;
错误1064(42000):您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的'case'附近使用正确的语法
同样的查询在MySQL Workbech中工作正常。它也适用于命令行客户端中的所有其他表。
答案 0 :(得分:0)
这是b / c Case是MySQL保留的关键字:https://dev.mysql.com/doc/refman/5.5/en/keywords.html
您需要使用刻度线而不是引号来保留保留的关键字。 例如:
SELECT * FROM `case`
与
不一样SELECT * FROM 'case'
此处还有另一个有用的链接: Syntax error due to using a reserved word as a table or column name in MySQL