0

レコードを複製せずに一意のフィールドにレコードを挿入する方法はありますか? レコードが存在する場合、別のテーブルで参照するためにレコード ID を使用する必要があります。私はphpとmySqlを使用しています。

4

2 に答える 2

0

使用INSERT ... ON DUPLICATE KEY UPDATE

テーブルにAUTO_INCREMENT列が含まれINSERT ... ON DUPLICATE KEY UPDATE、行を挿入または更新する場合、LAST_INSERT_ID()関数は値を返しAUTO_INCREMENTます。例外:更新の場合、LAST_INSERT_ID()MySQL5.1.12より前では意味がありません。ただし、を使用してこれを回避できますLAST_INSERT_ID(expr)。それidAUTO_INCREMENT列だとします。更新をLAST_INSERT_ID()意味のあるものにするには、次のように行を挿入します。

INSERT INTO table (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), c=3;
于 2012-05-01T16:33:01.853 に答える
0

タイプ「INT」の「id」という名前の列を追加し、たとえばphpmyadminで「主キー」と「自動インクリメント」を設定します。

このようにして、1 から始まり、テーブル内の新しいレコードごとにカウントされる一意のフィールドが作成され、他のテーブルでその値を参照できます。

于 2012-05-01T16:18:39.397 に答える