用户在MySQL中定义的sql数据类型

时间:2012-09-27 16:16:12

标签: mysql sql

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

3 个答案:

答案 0 :(得分:1)

正如foampile所指出的,the question has already been asked before

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

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 to show usage

答案 1 :(得分:0)

您可以随时使用enum来处理此类情况。

例如

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

但是这种方法的问题是你必须一次又一次地使用枚举......

答案 2 :(得分:0)

我意识到我不需要创建新的数据类型。我真正需要做的是创建一个新的'fruits'表,在我的'meal'表中创建一个外键'fruit_type'列,并在fruit table中制作'apple','pear'和'orange'行。现在,只有在“水果”表中存在水果,才能将水果插入“餐桌”。