有時候,datatype
可能是不必要的行爲。mysql列數據類型錯誤輸入問題
如果我在TINYINT
列中插入超過4位數字的數據,它會插入255超出範圍的警告。
如果我想在FLOAT
列UPDATE
或INSERT
字符串值,它使0
但是當我嘗試改變unsigned datatype
負數,查詢不被執行。
我的問題是爲什麼不停止查詢當不匹配datatype
所有的時間。有任何想法停止查詢這種類型的情況?
有時候,datatype
可能是不必要的行爲。mysql列數據類型錯誤輸入問題
如果我在TINYINT
列中插入超過4位數字的數據,它會插入255超出範圍的警告。
如果我想在FLOAT
列UPDATE
或INSERT
字符串值,它使0
但是當我嘗試改變unsigned datatype
負數,查詢不被執行。
我的問題是爲什麼不停止查詢當不匹配datatype
所有的時間。有任何想法停止查詢這種類型的情況?
要做到這一點,您需要使用您正在使用的程序語言手動添加錯誤檢查。因爲一旦數據要到數據庫,它是「詢問」
實例的方式來do error check with PHP:
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
if (!$mysqli->query("SET a=1")) {
printf("Errormessage: %s\n", $mysqli->error);
}
/* close connection */
$mysqli->close();
?>
希望它能幫助:)
謝謝。但你不知道我使用什麼編程語言? – Imran
@coder,您可以將其添加到您的問題中。 –
其發送到數據庫之前正確驗證您的數據?本手冊清楚地說明了每種數據類型的限制,如果您嘗試向其中插入錯誤的數據,則應首先驗證數據。 – Prix