SQL服务器模式

今天在执行这样一条语句时:

SELECT store - freez AS less FROM `products`;

报如下错误:

Data truncation: BIGINT UNSIGNED value is out of range in ‘(`products`.`store` - `products`.`freez`)‘

后经网上一查,得知是两数相减结果可能为负数导致。详细原因分析见:http://tech.it168.com/a2012/0808/1382/000001382732.shtml

MySQL关于“SQL服务器模式”的介绍在5.3.2章节。

那么解决我遇到的这个问题的方法就是,在执行此SQL语句前,设置下sql_mode:

SET sql_mode=‘NO_UNSIGNED_SUBTRACTION‘;

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。