0
id   |   a   |      b      |
-----------------------------
1    |  xyz  |     abc     |

これは私のテーブルの構造です。列idAUTO_INCREMENTです。'b'ではないデータのみをテーブルに挿入したいabc。例えば-

これは何も挿入しません:

insert into table_name(`a`,`b`) values("xyz","abc");

ただし、これにより新しいレコードが挿入されます。

つまり、 column のみをチェックする必要がありますb

insert into table_name(`a`,`b`) values("xyz","zzzz");

どうすればいいですか?

4

2 に答える 2

1

UNIQUE制約を追加できますcolumn b

重複した値が挿入のために提供されると、挿入の代わりに SQL 例外がスローされます。PHP でこの例外を処理できます。

于 2012-08-18T06:54:08.027 に答える
1

オプション:
1. 列 b の挿入クエリで unique() を使用します
2. クイック SELECT クエリを実行して、既存の列を確認します (最も好ましくない) if 句を使用して更新クエリに埋め込むこともできます

参照MySQLで「存在しない場合に挿入」する方法は?

于 2012-08-18T06:57:58.720 に答える