我有表视频与cols(url,title,desc,...)和表收藏夹cols(fav_url,拇指)。删除连接嵌套查询
当我尝试使用删除两个表中的行:
delete from video join favorite on video.url=favorite.fav_url
where url in (select url from video where title like '%thumb%')
我得到的错误。
有没有办法做到这个工作执行一个查询?
我有表视频与cols(url,title,desc,...)和表收藏夹cols(fav_url,拇指)。删除连接嵌套查询
当我尝试使用删除两个表中的行:
delete from video join favorite on video.url=favorite.fav_url
where url in (select url from video where title like '%thumb%')
我得到的错误。
有没有办法做到这个工作执行一个查询?
EDIT尝试这个吧
你不能真正做到删除查询此类型当你有一个SUB QUERY像你一样。 阅读这篇文章,详细解释。
MySQL Error 1093 - Can't specify target table for update in FROM clause
DELETE video, favorite
FROM video
JOIN favorite
ON video.url = favorite.fav_url
JOIN (SELECT DISTINCT url
FROM video
WHERE title like '%thumb%') tt ON video.url = tt.url
尝试:
DELETE t1, t2 FROM video t1 JOIN favorite t2 ON t1.url=t2.fav_url
WHERE url IN
(SELECT url FROM (SELECT * FROM video) t3 WHERE title LIKE '%thumb%')
#1093 - 你不能指定FROM子句 – 2011-04-21 22:07:33
@ daniel.tosaba用于更新目标表 'T1':谢谢,固定。 – 2011-04-22 07:55:23
#1093 - 您无法在FROM子句中指定目标表'V'进行更新 – 2011-04-21 22:07:03
什么是?你使用了上面的确切代码吗?查询窗口中是否有任何内容?我只是写了一个几乎认同的查询,根本没有任何错误。 – 2011-04-21 22:12:47
完全一样.. – 2011-04-21 22:25:02