2016-06-17 5 views
0
CREATE TABLE `t1` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `int1` bigint(20) unsigned NOT NULL, 
    `int2` bigint(20) unsigned NOT NULL, 
    PRIMARY KEY (`id`), 
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1 

int1int2より大きい場合、実行結果 "を選択します(int1 - int2)をt1からINT3としては、" エラーです!誰が私を助けることができる?ありがとう!mysqlのクエリ符号なし-unsignedエラー

+0

あなたも...ポストエラーを取得しているエラー? –

答えて

0

BIGINT UNSIGNEDは負ではありません。

int1int2未満の場合、式int1-int2は負の中間値を使用します。あなたが暗黙的にこれをSIGNED.Tryに変換する必要があり

;)

select CAST(`int1`AS SIGNED) - CAST(`int2`AS SIGNED) as `int3` from t1 
関連する問題