我想知道是否可以创建用户定义的sql数据类型。例如,数据类型可以是'fruit',然后可能是'apple','pear'和'orange'。这可能吗?
答案 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');
答案 1 :(得分:0)
您可以随时使用enum来处理此类情况。
例如
create table testing_fruits
(fruits enum('apple', 'grapes', 'banana',...));
但是这种方法的问题是你必须一次又一次地使用枚举......
答案 2 :(得分:0)
我意识到我不需要创建新的数据类型。我真正需要做的是创建一个新的'fruits'表,在我的'meal'表中创建一个外键'fruit_type'列,并在fruit table中制作'apple','pear'和'orange'行。现在,只有在“水果”表中存在水果,才能将水果插入“餐桌”。