delete where(mysql delete中where后能套用select么)

本文目录
mysql delete中where后能套用select么
你也可以用另外一种方式 ,例如 delete a from a,(select id from XXXX where XXX) b where a.id = b.id;这样就可以了
delete/update表b时where后不能直接select表b
练习:
第一次的写法如下:
后面的select子句会筛选出编号为1和2的学生信息,然后delete会把编号3删掉。
看上去逻辑正确,但是报错:You can’t specify target table ’mianshi2’ for update in FROM clause
原因:
在mysql中,同一个sql语句中,不能在同一个表中先select出符合条件的编号,然后再将同一个表中的此编号给delete或update,否则会报错。
改进:
将select出的编号放在一个表里(as a),然后多进行一次select,从表a中筛选出符合条件的编号,然后从原表里将此编号delete。

更多文章:
零基础学php培训(昌平IT培训分享学PHP想快点学会要怎么办)
2025年12月27日 23:30
维吉尼亚密码怎么用(令n=26,s=4,密钥k=QEGD,明文串M=computer,用维吉尼亚密码体制对M加密)
2026年4月2日 23:45
下载php的软件(php开发软件有哪些(php用什么软件))
2025年9月22日 21:15
isnull()方法的作用(sqlserver中isnull(@RecIndex,’’) <> ’’是什么意思)
2026年7月2日 14:45
constructed environment翻译(翻译下面这段文字)
2025年9月26日 03:00
spite词组(in spite of中spite是恶意,为什么变成短语是尽管的意思)
2025年9月18日 03:45
datagridview动态添加列(在DataGridView中动态添加combox列)
2026年7月18日 09:00
web服务器控件不包括(web用户控件 的优点和缺点在哪里)
2026年4月12日 16:45
字符串strtok(c语言:如何把字符串分解为一个个的字符)
2025年8月24日 22:45
echo和printf的区别(bash下echo和print的区别在哪里)
2026年9月22日 22:45












