我有两张结构相同的桌子。
old_table看起来像这样的东西(例如,不是实际的表):
Name - DOB - id
John - xxxx - 344
new_table看起来像这样:
Name - DOB - id
John - 1980 - 344
其中new_table填充了DOB列.ID字段(唯一)和结构的其余部分在表之间是相同的。我想用new_table中的值更新old_table中的DOB字段,其中ID字段是相同的(在上面的示例中,'id'= 344,等等,对于所有行和ID)。
我在考虑使用: INSERT INTO old_table(DOB)SELECT DOB from new_table WHERE ...
然后我的mysql知识落空了。我应该使用INSERT还是可以在这里使用UPDATE?我如何只从old_table中提取DOB值,其中ID字段= new_table的ID字段?
谢谢..
答案 0 :(得分:4)
UPDATE old_table, new_table
SET old_table.DOB = new_table.DOB
WHERE old_table.id = new_table.id
编辑:根据OP的评论
UPDATE old_table, new_table
SET old_table.DOB = new_table.DOB
WHERE old_table.id = new_table.id
AND old_table.DOB = 'xxxx'
AND old_table.field4 = '-'
答案 1 :(得分:0)
使用更新
更新old table
ot set DOB
=(从newTable
nt中选择DOB,其中nt.id = ot.id)
类似的东西应该起作用