1

最初のテーブルからデータをコピーする 2 番目のテーブルを作成しました。

table2 の構造は table1 と同じですが、列の一部のみが COLLATE NOCASE です。それとテーブル名を除けば、テーブルは同一です。

各テーブルには PK があります。

hID INTEGER PRIMARY KEY AUTOINCREMENT

コピーすると、次のクエリでエラーが発生します。

INSERT INTO table2 SELECT * FROM table1

エラー:

PRIMARY KEY must be unique    

元のデータには常に PK があるため、元のデータは一意であると想定しています。

コピー時に元の hID を保持したい。つまり、コピーされる古いデータに新しい hID を設定したくない。

MySQL では、通常、データをコピーした後に 2 番目のテーブルに PK を適用しますが、SQLLite では許可されていないと思います。

誰でも私のやり方でエラーを説明できますか?

4

0 に答える 0