MySQL 中的更新和选择
任何人都可以帮助我如何更新在 WHERE 子句中选择另一个表的一个表。
我的查询看起来像这样,但它是一个错误。
UPDATE empinfo e SET e.tellno='32154'
WHERE e.empno IN (SELECT ei.empno FROM empinfo ei WHERE ei.tellno <> '123456');
非常感谢您的回复。:)
Can anyone help me on how can I update one table having a selection to another table in WHERE clause..
My query is looks like this but it is an error..
UPDATE empinfo e SET e.tellno='32154'
WHERE e.empno IN (SELECT ei.empno FROM empinfo ei WHERE ei.tellno <> '123456');
Your response is highly appreciated.. :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
为什么不:
why not:
这里为什么需要嵌套查询,直接尝试
why do you need nested query here, try directly
有什么问题:
或
或
?
但是,如果 empno 在您的表中不是唯一的,那么此 SQL 将无法像您提供的那样工作!那么,empno 是否是唯一的呢?
What's wrong with:
or
or
?
However, if empno is not unique in your table then this SQL won't work like the one you've provided! So, is empno unique or not?
不知道为什么我要回答这个问题,因为你的接受率很垃圾,但就这样。
试试这个
Not sure why I'm answering this as you acceptence rate is rubbish but here goes.
Try this
好的,示例:
当您使用类似的内容时
,您将得到以下结果:
但是,您的原始查询似乎想将其更改为:
您想要这两个选项中的哪一个?如果您想要第二个,那么您需要执行子选择,但 MySQL 无法在同一个表上进行子选择。
Okay, example:
When you use something like
Then you will get this:
However, your original query seems to want to change it to this:
Which of these two options did you want? If you want the second one, then you'll need to do a sub-select but a subselect on the same table isn't possible with MySQL.