人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MYSQLのSQL INSERTについておしえてください。

TABLEに5つのフィールドがあってその中の2つにこれからINSERTしようとしているものと同様の値が入っているときにDB側でINSERTを行わない方法はありますでしょうか。

よろしくお願いします。

●質問者: mai_mai_mail
●カテゴリ:コンピュータ
✍キーワード:DB MySQL SQL フィールド
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ManalTencho
●35ポイント

テーブル t の c1, c2 列に値 v1, v2 を insert するケースを考えてみます。

insert into t a (a.c1, a.c2) select v1, v2 from t b where v1 <> b.c1 and v2 <> b.c2;

のようなかんじではいかがでしょうか。


2 ● litt
●35ポイント

その列にユニークインデックスをつければいいんじゃないでしょうか?

2つの列をセットで重複しないようにするなら

ALTER TABLE [テーブル名] ADD UNIQUE [インデックス名] (col1, col2);

それぞれの列で重複しないようにするなら

ALTER TABLE [テーブル名] ADD UNIQUE [インデックス名1] (col1);

ALTER TABLE [テーブル名] ADD UNIQUE [インデックス名2] (col2);

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ