我想知道是否可以创建用户定义的 sql 数据类型。例如,数据类型可以是“fruit”,然后可能是“apple”、“pear”和“orange”。这可能吗?
问问题
1195 次
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');
于 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 回答