MySQL 数值类型溢出处理( 二 )

这种情况下 , 如果启用了 NO_UNSIGNED_SUBTRACTION SQL 模式 , 则结果为负
mysql> SET sql_mode = 'NO_UNSIGNED_SUBTRACTION';mysql> SELECT CAST(0 AS UNSIGNED) - 1;+-------------------------+| CAST(0 AS UNSIGNED) - 1 |+-------------------------+| -1 |+-------------------------+如果此类操作的结果用于更新 UNSIGNED 整数列 , 则结果将裁剪为列类型的最大值 , 如果启用了 NO_UNSIGNED_SUBTRACTION 则裁剪为 0 。但如果启用了严格的 SQL 模式 , 则会发生错误并且列保持不变 。
后记一切都是套路 , 套路….基本都和 SQL 模式有关…

【MySQL 数值类型溢出处理】


推荐阅读