我正在將系統從舊服務器複製到公司的新(er)系統,我沒有參與以前系統的開發。他們有一個當前(複雜)網頁,將記錄插入到數據庫中,但我不完全理解它。但是,每個頁面的代碼和數據庫設置完全相同。當我嘗試插入未完成的表單時(在我的版本中),我得到Field 'invoiceNo' doesn't have a default value
,而在以前的系統上提交相同的未完成表單將創建(不完整)數據。爲什麼某些MySQL字段現在需要默認值?
我檢查了罪魁禍首字段的設置,並將其設置爲「非空」,其默認值爲「Null」。兩個數據庫的設置都是一樣的,那麼爲什麼相同的插入數據被區別對待呢?
舊MySQL版本:5.0.41社區-NT
新的MySQL版本:5.5.20
舊MySQL管理版本:1.2.12
新的MySQL管理員版本:1.2.17
對不起,如果聽起來我沒有什麼線索我說的 - 事實上,我不認爲舊系統對我來說是陌生人,它是巨大而複雜的。可以回答任何問題。
列'auto_increment'在舊的數據庫?和MySQL v1.2 ??當然這是不正確的.. – eggyal 2012-07-23 15:45:51
沒有什麼是auto_increment,其中一個字段是一個日期,所以不能自動增量。我的不好,這是MySQL管理員1.2.12。實際的MySQL版本是舊的:5.0.41-community-nt,新的是5.5.20。 (都是通過選擇版本();在查詢瀏覽器中) – Andy 2012-07-23 15:53:55