【发布时间】:2010-07-19 21:20:25
【问题描述】:
比如说:
我有两个表:old_data 和 new_data。
old_data 和 new_data 都有一个名为 this_is_col 的列。
old_data 和 new_data 都有各种(数百)行日期(2010-02-06、2010-01-09、2007-06- 02 等)。两个表的日期不一定相同,但格式相同。
两个表的字段都是不同的整数。
我的任务:
将字段从 old_data 复制到 new_data。
如果两个表中都存在日期,则将替换 new_data 中的字段。
如果 new_data 中不存在日期,则会添加正确的行并复制该字段。
这里是我已经走了多远:
创建一个临时列:
ALTER TABLE `new_data` ADD `tempColumn` TEXT NULL;
从 old_data 复制数据:
INSERT INTO `new_data` (`tempColumn`) SELECT `this_is_col` FROM `old_data`;
结合临时列和 new_data 。 this_is_col。 (我还没有真正想出这一步,因为我还没有走到这一步)。
MERGE? `tempColumn` `this_is_col`;
删除临时表
ALTER TABLE `new_data` DROP `tempColumn`;
在执行第二个操作(将数据传输到临时列)时,我收到此错误:
#1062 - Duplicate entry '0000-00-00' for key 1
现在我被困住了。任何帮助,将不胜感激。我正在使用 MySQL 和 phpMyAdmin 来测试 SQL 命令。
【问题讨论】:
标签: sql mysql mysql-error-1062