一、删除操作
请从dupes中删除重复的记录
delete from dupes
where id not in (
select min(id)
from dupes
group by name);
这条语句会报错误:
Error Code: 1093. You can't specify target table 'dupes' for update in FROM clause
通常发生在希望更新的表包含在子查询的FROM子句中。
为了解决这个问题,你可以使用临时表或者嵌套查询来删除重复记录。
delete from dupes
where id not in (
select min_id
from(
SELECT min(id) as min_id
FROM dupes
GROUP BY name
) as temp);
二、null比较
在 SQL 中,NULL 表示字段的值不存在或未知,它不同于空字符串或零值。对于值等于null,应该使用 is 或者 not is来比较,不能使用 = 进行比较。
COMM IS NULL #正确
COMM = NULL #错误