mysql - 更新表之间的行
我有两个结构相同的表。
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,“id”=344 等)。
我正在考虑使用: INSERT INTO old_table (DOB) SELECT DOB FROM new_table WHERE...
但是后来我的mysql知识逐渐消失。我应该使用 INSERT 还是可以在这里使用 UPDATE?如何仅从 old_table 中提取 DOB 值,其中 ID 字段 = new_table 的 ID 字段?
谢谢..
I have two tables with identical structure.
old_table looks something (example, not actual table) like this:
Name - DOB - id
John - xxxx - 344
new_table looks like this:
Name - DOB - id
John - 1980 - 344
Where the new_table has the DOB column filled in. The ID field (unique) and the rest of the structure is the same between tables. I want to update the DOB fields in the old_table with the values from the new_table where the ID fields are the same (so in the above example where the 'id'=344, etc, for all rows and ids).
I was thinking of using:
INSERT INTO old_table (DOB) SELECT DOB FROM new_table WHERE...
but then my mysql knowledge trails off. Should I even be using INSERT or can I use UPDATE here? And how do I only pull the DOB value from the old_table where the ID field = the ID field of the new_table?
Thanks..
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
编辑:基于OP的评论
EDIT: Based on comment from OP
使用更新
UPDATE
旧表
ot setDOB
=(从newTable
nt中选择DOB,其中nt.id=ot.id)类似的东西应该有效
use update
UPDATE
old table
ot setDOB
=(select DOB fromnewTable
nt where nt.id=ot.id)something like that should work