为什么兼容mysql的库 在where条件都没写全的情况下 可以执行SQL
TIDB:
mysql:
ali-drds:
oracle:
ob-mysql
ob-oracle
mysql 里 where 后面的表达式没要求那么严格,where acct_id 就相当于 where 1
感觉这样容易出问题
字段存在语法上就没问题,相当于 where 后面接的表达式为 true。
是有隐患,所以靠 review 了,不然放到 delete 里就是全表删
是呢 万一条件和字段分成2行 ,条件被注释了就直接执行了
不对,还要看acct_id的值,非0非空的时候 才相当于 where 1
mysql的语法是不怎么严谨,但是却有奇效,sql_mode全清空,验证全在开发和测试阶段。
可以设置sql_mode避免吧
where 1是整表数据,还需要看数据类型,字符类型是应该是转换成数字类型做判断,数字类型!=0 and is not null,时间类型 is not null
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。