2010-08-31 92 views
4

我需要您的幫助。在數值字段中插入空值而不是NULL

我們有一個運行在MySQL上的PHP應用程序,我們需要爲新客戶使用PostgreSQL。

問題是,當我們在數字類型的字段中插入空字符串時,會出現錯誤。

我認爲我們應該實際使用NULL而不是空字符串。但我們想避免重新編碼我們的應用程序的所有SQL代碼,我的問題是在表(或其他地方)的結構中是否可以確保我們的數字列接受空值?或將它們轉換爲NULL?

在文檔中我已經看到可以定義自己的類型,例如可以創建基於數字的類型並確保它接受空值嗎? 如果是的話如何?我發現沒有解決

謝謝

回答

5

的問題是,當我們插入式 數字的領域 空字符串,我們得到一個錯誤。

這是正確的,一個字符串不是一個數字。甚至沒有空字符串。

我認爲我們應該使用NULL 而不是空字符串。

這是正確的,您當前的SQL是錯誤的。如果你的MySQL配置會使用更好的SQL_MODE,你的查詢也會在MySQL上失敗。修復你的代碼,這是迄今爲止你所擁有的最佳選擇。

通過創建虛擬數據類型進行黑客攻擊只是一種破解,它不是壞SQL的解決方案。問題是你的SQL,而不是你的數據庫。

相關問題