MySQLでDBを設計しているのですが、
テーブルを作成するさい、1つの列についてユニークな制約をつくる方法は分かるのですが、
2つの列について(仮に、fruit,countryとします)、
「fruit,country」の値がともに一致するような列は許さない、というようなユニークな制約は実現可能でしょうか?
つまり・・・・
fruit | country
-------------------
apple | japan
apple | uk
banana | japan
orange | uk
orange | china
上記は、fruit列だけを見ると、重複しているところがあり、
country列だけを見ると、重複しているところがありますが、
両方とも一致する行は存在しないのでOKです。
で、ここに、
fruitにapple, countryにukという値を入れようとすると、すでに、2行目に同じペアの行が存在するので、
エラーにしたいというわけです。
もし可能ならどうやってかけばいいのでしょうか?
どうぞよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
create tableの構文は、以下の通り。
<create tableの構文>
create table 表名
(列名 データ型 列制約,
列名 データ型 列制約,
列名 データ型 列制約,
表制約)
つまり、単一列の制約でないものは、表の制約として定義します。これは、priamry keyなども同じです。
create table 表名
(列名1 int,
列名2 int,
fruit varchar(5),
country varchar(5),
unique(fruit,country))
お返事大変遅くなりまして失礼いたしました。
なるほど、そのものずばりなご回答、ありがとうございます。
参考にさせていただきます。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) この関数と同じ処理をVBAで行うにはどうしたら良いでしょうか? これは、1列の中に同じ値が複数存在し 21 2022/07/07 07:48
- Excel(エクセル) 表に書いてある単語を1つの行に重複させないで書き出したい。 複数の列行にそれぞれ職種が入力されている 6 2022/05/25 04:49
- Excel(エクセル) 重複しているか否かをソートせずに判断する方法ありますか? 2 2022/07/06 21:16
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
- Excel(エクセル) 【Excel】指定した文字列に該当する行を重複しないようにリスト 3 2022/03/30 12:27
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- 工学 コンデンサメインの降圧回路 6 2022/09/02 17:20
- 数学 すべての自然数とすべての実数を1対1で対応させる(すべての実数を一列に並べる)方法について 3 2023/05/26 17:14
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 3つの条件を指定してVBAで行を削除したい 条件1:分類1が重複 条件2:分類2が重複 条件3:個数 6 2022/06/24 11:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mysqlでJOIN文
-
一つ前に戻るには…
-
ROWNUMでUPDATEをしたいのです...
-
論理名とコメント構文(?)について
-
テーブル名をカラムとして取得...
-
Accessでデータシートに同じデ...
-
SQL*LoaderでCSVから指定した列...
-
SQL Server management studio ...
-
SQL、2つのテーブルで条件一致...
-
SQLにて指定日付より前、かつ最...
-
update文で改行を入れる
-
男性と2人で飲食店に行きテーブ...
-
他のデータベースとのテーブル結合
-
SELECT 文の NULL列は?
-
特定のカラムが更新されたとき...
-
会社の飲み会の幹事になり、座...
-
外部キーだけのテーブル(主キ...
-
LONG型の先頭250バイトを Varch...
-
2台のサーバー間でのテーブル...
-
結合テーブルでINSERTする方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一つ前に戻るには…
-
ビューに追加・削除が出来ません。
-
最大値を持つレコードを削除したい
-
mysqlでJOIN文
-
SQL文による残業時間の算出につ...
-
mysqlのフィールド名
-
SQL一発でカレンダー表示は可能...
-
副問い合わせの限界値はどれく...
-
1列について重複行を除いて全列...
-
矛盾していないでしょうか?
-
mysqlで外部キーをつけたカラム...
-
MySQLのFOREIGN KEYについて
-
SQLを教えてください
-
MySQLのテーブル設計について
-
PHP上のSQLで、SELECT文をいく...
-
char型データ 固定長のままでs...
-
【ストアドプロシージャ】条件...
-
売上管理
-
テーブルの名前の付け方
-
外部キー、親を調べるにはshow ...
おすすめ情報