MySQL 大战 PostgreSQL 第二回:呆瓜模式的分歧

本文比较了MySQL和PostgreSQL在‘呆瓜模式’(防止无条件更新或查询所有数据)上的不同,MySQL提供了--safe-updates选项,而PostgreSQL需借助第三方扩展。作者倾向于MySQL的方案,但认为PG社区拒绝在Server端添加该功能是合理的,强调应由客户端根据场景自定义错误处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

file

去年写的全方位对比 Postgres 和 MySQL 引发了社区里不少的讨论。今天再聊一个 MySQL 和 Postgres 之间小小的不同,呆瓜模式的实现。

MySQL 的呆瓜模式

MySQL 命令行工具提供了一个选项 --safe-updates 或者 --i-am-a-dummy,默认是 false。开启之后如果 UPDATE, DELETE 不带 WHERE 或者 LIMIT 就会报错。此外 SELECT 语句也可以指定返回超过一定行数后报错。

PostgreSQL 的呆瓜模式

Postgres 命令行 psql 没有提供呆瓜模式。社区曾经有用户尝试直接在 Server 端加一个类似的限制,但是被驳回了。

file

社区于是又想了个曲线救国的方法,实现了一个 safeupdate extension,来达到类似的效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值