2012-02-10 44 views
0

我正在構建一個MySQL數據庫的PHP/HTML前端。MYSQL - 字符串長度20,字段接受varchar(15),沒有錯誤產生?

我試圖使用定義的表是varchar(15)的列。我可以運行(沒有錯誤)一個長度爲20個字符的字符串的插入語句。結果記錄的列被截斷爲15個字符,但不會生成錯誤。

我該如何得到這個錯誤?

我知道接口可以做錯誤檢查,但我想知道如何讓數據庫也拒絕數據。

回答

1

MySQL的相當寬容,並會嘗試優雅地接受任何你通過它儘可能最好的,如果需要靜靜轉換/截斷/ nulling。

既然你不希望出現這種情況,您需要啓用各種「嚴」模式選項:http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html

+0

這正是我需要知道!之前我沒有遇到過「嚴格」的問題。非常感激! – 2012-02-13 20:22:35