0

2つのテーブルがあり、最初のテーブルには400行あります。2番目のテーブルは、同じカウントの同じレコードを保持します。これで、最初のテーブルの行数が450に増えました。これらの50の新しい行だけを2番目のテーブルに挿入したいと思います。最初の400レコードを更新する必要はありません。

特定のフィールド(empidなど)に一意のインデックスを設定しています。ここで、最初のテーブルデータを挿入すると、次のエラーが返されます。

Duplicate entry 'xxxx' for key 'idx_confirm'

このエラーを修正するのを手伝ってください。

以下のコードを使用してレコードを挿入しています。ただし、重複エントリは許可されます。

insert ignore into tbl_emp_confirmation (fldemp_id,fldempname,fldjoindatefldstatus)
select fldempid, fldempname,DATE_FORMAT (fldjoindate,'%Y-%m-%d') as fldjoindate,fldstatus from tblempgeneral as n;
4

1 に答える 1

2

INSERT ...ステートメントを に変更しますINSERT IGNORE ...

説明については、たとえばこの投稿を参照してください。

主キーなど、重複を防ぐ一意のインデックスがあることを確認する必要があります。

于 2012-10-24T07:13:35.123 に答える