0

2 つの列が一意である場合に MYSQL PHP でチェックインして再度挿入しないようにするにはどうすればよいですか? そうでない場合は、1 つの列だけが一意である場合に挿入します。

編集:

このようなテーブルがあるとしましょう。

userId  |  codeId

そして、II は次のようなクエリを送信します。

$query = $pdo->prepare('insert into table (userId, codeId) values (?,?)');

だから今、私は userId と codeId がすでに一度追加されているかどうかを確認したいのですが、もう一度挿入しないでください.1つだけ追加されている場合は、クエリ全体を挿入してください.

私はそのより多くの理解を願っています。

4

3 に答える 3

2

これらの列に一意のキーを設定すると、挿入しようとするとmysqlクエリが失敗します。

于 2012-07-06T14:31:22.847 に答える
1

INSERT INTO ... の代わりに REPLACE INTO を使用しますか?

于 2012-07-06T14:31:52.427 に答える
0

以下のコードのようにします (ここで、TEXT_ID と TEXT_CATEGORY はテーブルのキーです)。

INSERT INTO 
    table_texts
SET 
    text_id = 174,
    text_category = "pam_texto"
ON DUPLICATE KEY UPDATE 
    text_id = 174,
    text_category = "pam_texto";

上記のコードは挿入を試みますが、キーが重複している場合はその行で更新を実行します。

于 2012-07-06T14:51:23.367 に答える