2016-05-25 3 views
1

「smallint(6)UNSIGNED」と宣言されたMySQL DBにいくつかの列があります。 これらの列には負の値を設定してはいけません。私の問題は、phpmyadmin(参照タブ)から手動で負の数を設定しようとすると、phpmyadminはエラーを表示することです。私はMySQLの負の値に更新しようとすると、MySQLのエラーを取得する方法は?

PHP Codeigniterアプリケーションから負の値を設定しようとすると、負の数は0として保存され、エラーは発生しません。

はCodeIgniterのから私のSQLの更新はこれです:

UPDATE `table_example` SET `d1` = -2 WHERE `field_example` = '11' AND `field_example` = '0' AND `field_example` = 1 

私は上記のSQLコマンドは私のPHPアプリケーションに私にエラーを返すようにしたいが、現在はそれはしていません。それはexcecutedです(上記のSQL UPDATEをphpmyadminで試してみましたが、phpmyadmin-browseで手動で変更すると失敗しても成功です!)、値は0です。私はそれを0にしたくない、エラーを出したいfrom mysql のように "ちょっとばかだ、これらのフィールドを負の数として更新することはできません。ここでは、このエラー"を取得します。

実際、Codeigniterでトランザクションを使用していますが、ロールバックしません。上記のSQL UPDATEが正常に実行されたため、論理的です!しかしどうですか?前もって感謝します。

+0

固定タイトル、感謝 – GeorgeGeorgitsis

+0

をあなたが 'POST' /' GET'をチェックした場合について負の値ですか? –

+0

クエリを実行する前に値が負であるかどうかを確認する方法はありますか? – AnatPort

答えて

関連する問題