【问题标题】:What is wrong with the below ENUM (mysql)?下面的 ENUM (mysql) 有什么问题?
【发布时间】:2018-04-12 15:14:19
【问题描述】:

我必须为课程创建测试表并遇到以下 ENUM 问题:

   CREATE TABLE IF NOT EXISTS people (
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
Lname varchar(20) DEFAULT NULL,
Fname varchar(20) DEFAULT NULL,
Gender ENUM(‘M’, ’F’),
Specialty ENUM(‘1’, ’2’, ’3’, ’4’),
Grade ENUM (‘I’, ’J’, ’M’, ’S’),
Start_date date DEFAULT NULL,
PRIMARY KEY (id)
);

它不起作用 - 我得到: “错误 1064 (42000):您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,了解在“M”、“F”附近使用的正确语法), 专业 ENUM('1', '2', '3', '4'), 第 5 行的 ENU' 等级"

每当我尝试在没有 ENUM 字段的情况下创建时 - 一切都很好。如果我再次尝试使用这些 ENUM 更改 TABLE - 它会失败。

那里有什么问题?

【问题讨论】:

标签: mysql sql enums create-table


【解决方案1】:

请尝试使用以下查询使用 ' 这个引用代替`

CREATE TABLE IF NOT EXISTS people_tes ( 
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, 
Lname varchar(20) DEFAULT NULL, 
Fname varchar(20) DEFAULT NULL, 
Gender ENUM('M', 'F'), 
Specialty ENUM('1', '2', '3', '4'), 
Grade ENUM ('I', 'J', 'M', 'S'), 
Start_date date DEFAULT NULL, PRIMARY KEY (id) )

【讨论】:

  • 谢谢!那行得通。不知何故,在尝试 SQL 上的 w3schools.com 上,键盘上通常使用 '' 的语句工作正常。
猜你喜欢
  • 1970-01-01
  • 2018-06-27
  • 2021-07-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多