レコードを複製せずに一意のフィールドにレコードを挿入する方法はありますか? レコードが存在する場合、別のテーブルで参照するためにレコード ID を使用する必要があります。私はphpとmySqlを使用しています。
質問する
121 次
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)
。それid
がAUTO_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 に答える