-1

ユーザー定義の sql データ型を作成できるかどうかを知りたいです。たとえば、データ型が「果物」の場合、可能性は「りんご」、「ナシ」、「オレンジ」になります。これは可能ですか?

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

新しいデータ型を作成する必要がないことに気付きました。本当に必要なのは、新しい「fruits」テーブルを作成し、「meal」テーブルに外部キー「fruit_type」列を作成し、fruits テーブル内に「apple」、「pear」、および「orange」行を作成することです。これで、'fruits' テーブルに果物が存在する場合にのみ、'meal' テーブルに果物を挿入できます。

于 2012-09-27T16:36:51.120 に答える
0

そのような場合はいつでもenumを使用できます。

例えば

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

しかし、このアプローチの問題は、列挙型を何度も使用する必要があることです...

于 2012-09-27T16:30:22.030 に答える