MySql易错点

一、删除操作

请从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 #错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值