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ランキング
-
一つ前に戻るには…
-
複数の列にまたがってユニーク...
-
SQLです!!教えてください。
-
SQLでSUMなどの関数でデータが...
-
Accessでデータシートに同じデ...
-
L2SWはARPテーブルを持っている?
-
Accessのテーブルデータを一気...
-
テーブル名をカラムとして取得...
-
update文で改行を入れる
-
外部キーだけのテーブル(主キ...
-
テーブルで一番古いレコードだ...
-
SQL 複数テーブルのupdate
-
特定のカラムが更新されたとき...
-
会社の飲み会の幹事になり、座...
-
accessでレコード更新直後の反...
-
他のデータベースとのテーブル結合
-
SQL、2つのテーブルで条件一致...
-
AccessのSQL 部分一致したデー...
-
C#で電卓のプログラムを組んで...
-
アクセスのリンクテーブル一覧...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一つ前に戻るには…
-
mysqlのフィールド名
-
最大値を持つレコードを削除したい
-
mysqlでJOIN文
-
1列について重複行を除いて全列...
-
グループからランダムに抽出す...
-
mysqlで外部キーをつけたカラム...
-
SQL一発でカレンダー表示は可能...
-
矛盾していないでしょうか?
-
ビューに追加・削除が出来ません。
-
1000万件のデータをmysqlで効率...
-
テーブルが作成できない
-
挿入先テーブルに存在しないレ...
-
【ストアドプロシージャ】条件...
-
SQL内でループさせるような検索文
-
MySQL INSERT文 エラー
-
mysqlのデータベースを復元した...
-
Waiting for table lockエラー...
-
PHP上のSQLで、SELECT文をいく...
-
複数の列にまたがってユニーク...
おすすめ情報