【问题标题】:1064 error in MySQL Command line client when trying to view table but works fine in MySQL WorkbenchMySQL 命令行客户端尝试查看表时出现 1064 错误,但在 MySQL Workbench 中工作正常
【发布时间】:2018-04-18 04:44:33
【问题描述】:

所以我在 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;

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“case”附近使用正确的语法

相同的查询在 MySQL Workbech 中运行良好。它也适用于命令行客户端中的所有其他表。

【问题讨论】:

  • 你试过在表名前添加模式名吗?比如“SELECT * FROM crime.case”
  • 是的,我做到了。仍然得到同样的错误。为什么它适用于所有其他表,但这个..

标签: mysql database mysql-workbench mysql-error-1064


【解决方案1】:

It's 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

【讨论】:

    猜你喜欢
    • 2022-07-22
    • 2020-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    • 2019-08-05
    • 1970-01-01
    • 2019-05-06
    相关资源
    最近更新 更多