【问题标题】:error when using single quotes in mysql when creating a database创建数据库时在mysql中使用单引号时出错
【发布时间】:2016-05-28 09:11:01
【问题描述】:

我想创建一个名称中包含破折号的数据库,例如 my-db。我试过了

create database 'my-db';

下面是我终端的输出

mysql> 创建数据库 'my-db'; ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“my-db”附近使用正确的语法

我已经用谷歌搜索了如何创建这样的数据库名称,所有链接都告诉我在名称周围使用单引号。但我不知道为什么它不适合我。我还能如何创建名称中包含破折号的数据库?

【问题讨论】:

  • 对名称使用反引号 - 而不是单引号。单引号用于文本字符串。
  • "标识符引号字符是反引号(“`”)...如果启用ANSI_QUOTES SQL模式,也允许在双引号内引用标识符"Schema Object Names
  • Joachim Isaksson 谢谢。我在从谷歌获得的页面上看到了反引号,在我的键盘上寻找它并没有找到它。所以我来宾应该是单引号。我只需要再靠近一点。

标签: mysql


【解决方案1】:

试试

create database `my-db`; 

create database my-db;

它必须有效。

对于数据库,您应该使用反引号或不使用任何符号。

【讨论】:

  • 第一个有效,但第二个无效。输出 mysql> 创建数据库 my-db; ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“-db”附近使用正确的语法
  • 哦。当然。通常它在数据库名称中仅使用字母和数字时有效。使用- 是非标准的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-26
  • 1970-01-01
  • 2014-10-24
  • 1970-01-01
  • 2012-07-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多