MySQL删除语句的特别注意事项

引出问题

       平时在开发中写sql语句时。自己总有一个习惯是使用别名,因为多表联合查询时如果不使用别名会很不方便。久而久之就形成在写SQL语句时使用别名的好习惯。然而某次在写一个简单的删除语句时,出现问题一直报一个错误说我的sql语句错误,

DELETE FROM ai_models a where a.mcode = 'FL001';这是再简单不过的sql语句了,怎么会出错呢?而且我反复检查也没发现错误啊?反复折腾了好久都没找到原因,也不知道为什么。

解决方法

       既然一种方法不行,那我就换一种方式,先备份数据在全部删除,结果发现没问题,可以正常删除。这时我发现问题出在体检上面,继续寻找原因,条件中的字段mcode是肯定存在的,问题绝不会是它造成的,难道是前面的表名缩写造成的?抱着试一试的态度,我去掉别名重新测试添加条件删除,测试结果删除成功。

       至此找到原因,Mysql在执行删除语句时,表名一定不能添加别名,否则无法删除。目前还不理解它底层的运行的机制,至少能够知道如何正确的使用,能够让删除语句不出错正常执行不出错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值