使用这个问题的答案:需要MySQL INSERT - SELECT查询具有数百万条记录的表
new_table
* date
* record_id (pk)
* data_field
INSERT INTO new_table (date,record_id,data_field)
SELECT date, record_id, data_field FROM old_table
ON DUPLICATE KEY UPDATE date=old_table.data, data_field=old_table.data_field;
Run Code Online (Sandbox Code Playgroud)
我需要这个与group by一起工作并加入..所以编辑:
INSERT INTO new_table (date,record_id,data_field,value)
SELECT date, record_id, data_field, SUM(other_table.value) as value FROM old_table JOIN other_table USING(record_id) GROUP BY record_id
ON DUPLICATE KEY UPDATE date=old_table.data, data_field=old_table.data_field, value = value;
Run Code Online (Sandbox Code Playgroud)
我似乎无法更新值.如果我指定old_table.value,我得到一个未定义的字段列表错误.