2015-11-04 50 views
1

我想要创建一个表,其中将有一列名为的角色,其中只能插入3个值,“Admin”,“User”,“Customer”。MySQL - 使用预定义的插入值创建表列

所以,我所做的就是这个 -

CREATE TABLE Person 
(
    PersonID int, 
    Name varchar(255), 
    Role varchar(10) IN ("Admin","User","Customer"), 
    Address varchar(255), 
    City varchar(255) 
) 

但它给我喜欢它 - 一个错误

enter image description here

任何人都可以请帮助?

预先感谢helpipng :)

+0

你不能打扰复制错误信息的实际文本? –

回答

1

您可以使用枚举数据类型,如下: 检查这个网址:enum mysql

CREATE TABLE Person 
    (
     PersonID int, 
     Name varchar(255), 
     Role enum("Admin","User","Customer"), 
     Address varchar(255), 
     City varchar(255) 
    ) 
0

您必须将单独

CREATE TABLE Person 
(
PersonID int, 
Name varchar(255), 
Role varchar(10), 
Address varchar(255), 
City varchar(255) 
) 

SQL INSERT INTO语法
可以用两种形式编写INSERT INTO语句。

第一种形式不指定列名,其中数据将被插入,只有它们的值:

INSERT INTO table_name 
VALUES (value1,value2,value3,...); 

第二种形式指定要插入的两列名和值:

INSERT INTO table_name (column1,column2,column3,...) 
VALUES (value1,value2,value3,...);