我有一个 old_table 和一个 new_table:
创建表`old_table`( `id` bigint(20) NOT NULL AUTO_INCREMENT, `col1` varchar(15) 默认为空, `col2` int(15) 默认为空, ..., 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 子句中指定列,因为在实际系统中,表有很多列。
解决问题的最佳方法是什么?