MySQL - 创建具有预定义插入值的 table 列

MySQL - Create table Column with pre-defined insertacle value

我想创建一个 table,它有一个名为 Role 的列,其中只能插入 3 个值,"Admin","User","Customer".

所以,我所做的是这样-

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

但它给我这样的错误-

有人可以帮忙吗?

在此先感谢您的帮助:)

您可以使用枚举数据类型,如下所示: 检查此 url:enum mysql

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

必须单独插入

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,...);