mysql语句报错了,求解决

yanfangphp 2012-07-19 02:31:52
DELETE from sys_paybycps where payid in(SELECT a.payid FROM sys_paybycps a RIGHT JOIN sys_membersbycps ON a.username=b.username where b.channelid='11' AND pay_time BETWEEN '1389651211' and '1389691287');


报错:You can't specify target table 'sys_paybycps' for update in FROM clause

我应该怎么写勒
...全文
91 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanfangphp 2012-07-19
  • 打赏
  • 举报
回复
谢谢了
wwwwb 2012-07-19
  • 打赏
  • 举报
回复
如果删除的记录太多,可以新建1个表
yanfangphp 2012-07-19
  • 打赏
  • 举报
回复
CREATE TABLE tmp as SELECT a.payid FROM sys_paybycps a RIGHT JOIN sys_membersbycps b ON a.username=b.username where b.channelid='11' AND pay_time BETWEEN '1389651211' and '1389691287';
DELETE FROM sys_paybycps where payid in(SELECT payid FROM tmp);
DROP TABLE tmp;

这种方法和楼上的比那个更好一点勒
wwwwb 2012-07-19
  • 打赏
  • 举报
回复
DELETE a from sys_paybycps a
inner JOIN sys_membersbycps ON a.username=b.username where b.channelid='11' AND pay_time BETWEEN '1389651211' and '1389691287'

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧