在mysql中需要将两个表合并,但一个表有重复项,怎么合并?

假定有两个表t1,t2,其中t1表有字段ID,birh,t2表有字段ID,Event,不过t2中的字段ID有重复项(但Event不重复)。现在想在t2表中增加一列名为bi... 假定有两个表t1,t2, 其中t1表有字段ID, birh, t2表有字段ID, Event,不过t2中的字段ID有重复项(但Event不重复)。现在想在t2表中增加一列名为birth, 值为表一中对应ID的birth.各位大侠,请问该怎么写语句呢。网上查了很多,试了语句update t1,t2 set t2.birth=t1.birth where t2.ID=t1.ID,但一直显示正在执行,最后显示错误信息:lock wait timeout exceed. 会是因为t2的ID字段有重复项的原因么? 展开
 我来答
renfengjun1986
2014-01-10 · 知道合伙人软件行家
renfengjun1986
知道合伙人软件行家
采纳数:925 获赞数:1553
中国地质调查局特聘数据库专家 CSDN博客专家 百度知道数据库行家 炼数成金版主 想了解更多请关注我的博客:

向TA提问 私信TA
展开全部
提示的是你的表被锁住了,等待超时,应该是有其他用户正在执行dml语句在t2表上。
建议你查查数据字典,是谁在操作t2表。或者直接重启mysql。
另外你的sql语句看着有些别扭,请改成:
update t2 set t2.birth=(
select t1.birth from t1 where t1.id=t2.id) ;

要保证t1中的id没有重复就行。
追问
首先谢谢你的回答!那两个表都是在local的 所以肯定没有其他人在用。你写的那种表达式 我也试过 也是有出错的信息提示!
首先谢谢你的回答!那两个表都是在local的 所以肯定没有其他人在用。你写的那种表达式 我也试过 也是有出错的信息提示!
nece001
2014-01-10 · 贡献了超过151个回答
知道答主
回答量:151
采纳率:0%
帮助的人:33.9万
展开全部
先删除重复的,再合
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
莘赡05V
2014-01-10 · 知道合伙人软件行家
莘赡05V
知道合伙人软件行家
采纳数:1397 获赞数:3710
毕业安徽理工大学

向TA提问 私信TA
展开全部
同学 ,研究下mysql触发器吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
花落之泪
2014-01-10 · TA获得超过131个赞
知道小有建树答主
回答量:195
采纳率:0%
帮助的人:91.1万
展开全部
不是因为这个问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式