选择我有一个OLD_TABLE和NEW_TABLE:MySQL的 - INSERT INTO XXX与AUTO_INCREMENT列
CREATE TABLE `old_table` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `col1` varchar(15) DEFAULT NULL, `col2` int(15) DEFAULT 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子句中的列,因为在真正的系统中,这些表有很多列。
解决问题的最佳方法是什么?
尝试这样 http://stackoverflow.com/questions/9122/select-all-columns-except-one-in-mysql – 2012-07-19 16:39:22
@AndreyVorobyev execlude id字段:这是一个很好的解决方案。你为什么不把它作为答案发布? – 2012-07-19 16:52:11