我必须检查一些不需要的记录并将其删除,因为我在查询中使用了该记录

delete from contain_tab
where org_id = "RTY"
      AND id_contain
           NOT IN (
               select id_contain from(
                  SELECT id_contain FROM contain_tab c
                  WHERE org_id = "RTY"
                  AND (c.cu_date,c.cv_date)
                  in(
                       select max(cu_date),max(cv_date) from contain_tab cs
                       where org_id = "RTY"
                       AND cs.container = c.container
                       and cs.mfest_id = c.mfest_id
                       and cs.sl_number = c.sl_number)
                     )
              as id_contain)


结构体

CREATE TABLE `contain_tab` (
`id_contain` int(11) NOT NULL,
`org_id` varchar(5) NOT NULL,
`container` varchar(24) DEFAULT NULL,
`eta_dest` date DEFAULT NULL,
`mfest_id` varchar(30) DEFAULT NULL,
`sl_number` varchar(30) DEFAULT NULL,
`orig_id` varchar(8) DEFAULT NULL,
`cu_date` date DEFAULT NULL,
`cv_date` date DEFAULT NULL,
`vehicle` varchar(32) DEFAULT NULL,
`user_defined_field1` varchar(35) DEFAULT NULL,
`user_defined_field2` varchar(35) DEFAULT NULL
`created_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP) ENGINE=InnoDB DEFAULT CHARSET=utf8;


我有错误
MySQL说:文档

1093-您无法在FROM子句中指定目标表“包含”以进行更新

请帮助我修复错误

最佳答案

为表名contain加上反引号,因为它是关键字

`contain`

关于mysql - mysql无法在FROM子句中指定目标表进行更新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42152774/

10-11 02:49
查看更多