西南证券开户

错误代码: 1093 mysql 这条语句到底哪里错了??

发布于 07/23 09:25
阅读 437
收藏 0

精选30+云产品,助力企业轻松上云!>>> 西南证券开户

西南证券开户DELETE FROM `test_tbale` WHERE `id` NOT  IN (SELECT   MAX(t.`id`) AS id FROM  `test_tbale`  t GROUP BY t.`ip` );

 

错误代码: 1093
西南证券开户 You can't specify target table 'test_tbale' for update in FROM clause

加载中
0
realanan

DELETE FROM `test_tbale` WHERE `id` NOT  IN (
    SELECT m.`id` FROM (
        SELECT   MAX(t.`id`) AS id FROM  `test_tbale`  t GROUP BY t.`ip` )

    ) m
)

用一个中间表过渡下,据说可以,我没试过

piaoyaoi
对的
0
innerloop
FROM `test_tbale` WHERE `id` NOT IN (select a.id from (SELECT MAX(t.`id`) AS id FROM `test_tbale` t GROUP BY t.`ip` ) as a);/ps 这sql看着吓人,性能为0,最好不要小心被BOSS骂
0
不知道你想干嘛

 如果id 是主键, not in里面的语句 不要需要带 group by 。
DELETE 西南证券开户FROM #test WHERE id NOT IN ( SELECT max(id) FROM #test )

0
wangshunya

不能是同一张表

0
木九天

同一张表查询的时候不能走更新或者删除,解决方案:

DELETE FROM `test_tbale` WHERE `id` NOT  IN 
(
    select * from
        (
            SELECT m.`id` FROM 
            (
                SELECT   MAX(t.`id`) AS id FROM  `test_tbale`  t GROUP BY t.`ip` 
            )
        ) 
    ) AS temp
)

给我顶

0
暴猿

大兄弟你这个SQL太吊诡了,按你的SQL意图,你是想把除了test_tbale  这个表中最大的id之外都删除?如果是换这个SQL试试

DELETE FROM  test_tbale  WHERE  id  != (SELECT   MAX(t.id) AS id FROM  test_tbale  t );

如果不是可以重新说下需求

返回顶部
顶部
发现配资网 五金股票新闻网 环保投资网 99挖财宝 知识之窗网 葫芦岛新闻网 诊股健康网