最初のテーブルからデータをコピーする 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 では許可されていないと思います。
誰でも私のやり方でエラーを説明できますか?