old_table と new_table があります。
CREATE TABLE `old_table` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `col1` varchar(15) DEFAULT NULL, `col2` int(15) デフォルト NULL, ...、 PREMARY_KEY (`id`) ); CREATE TABLE `new_table` LIKE `old_table`;
次に、両方のテーブルにいくつかの値が入力されます。その後、old_table からいくつかの行を選択し、new_table に挿入します。
INSERT INTO `old_table` SELECT * FROM `new_table` WHERE col2 > 100;
ただし、これにより、重複キーによるエラーが発生します。実際のシステムではテーブルに多数の列があるため、SELECT 句で列を指定するのが面倒です。
問題を回避するための最良の方法は何ですか?