-1

我想知道是否可以创建用户定义的 sql 数据类型。例如,数据类型可以是“fruit”,然后可能是“apple”、“pear”和“orange”。这可能吗?

4

3 回答 3

1

正如foampile所指出的,这个问题之前已经被问过了

但是,在您的情况下,您可以使用ENUM 类型

CREATE TABLE my_fruits (
    id INT AUTO_INCREMENT,
    fruit ENUM('apple', 'pear', 'orange'),
    PRIMARY KEY(id)
);

INSERT INTO my_fruits(fruit) VALUES('pear'), ('apple'), ('orange'), ('pear');

SQLfiddle 显示用法

于 2012-09-27T16:27:46.237 回答
0

对于这种情况,您始终可以使用枚举。

例如

create table testing_fruits
(fruits enum('apple', 'grapes', 'banana',...));

但是这种方法的问题是你将不得不一次又一次地使用枚举......

于 2012-09-27T16:30:22.030 回答
0

我意识到我不需要创建新的数据类型。我真正需要做的是创建一个新的“fruits”表,在我的“meal”表中创建一个外键“fruit_type”列,并在 fruits 表中创建“apple”、“pear”和“orange”行。现在,您只能将水果插入到 'meal' 表中,如果它存在于 'fruits' 表中。

于 2012-09-27T16:36:51.120 回答