我被要求對現有應用程序進行更改,此時該應用程序目前僅部署到Linux生產服務器。我已經開始了,並且大部分應用程序都在我的本地Windows PC上工作。我在本地PC上安裝了Production的MySQL
DB的完整副本。生產數據庫在Linux上是MySQL v5.0.95
,我的本地數據庫在Windows上是MySQL v5.5
。兩者都處於InnoDB模式。MySQL錯誤代碼:1411.錯誤的日期時間值:''用於函數str_to_date
我的問題是與如下的聲明。由其他人希望提供幫助,便於通用。
update atable
set adate=DATE_ADD(str_to_date('','%m/%d/%Y'), INTERVAL 0 DAY)
where anum='1'
在某些情況下,一個空字符串傳遞,其中在生產不會造成任何問題,並允許記錄要保存/更新,但本地它拋出一個SQLException
。所以我直接對我的本地數據庫嘗試SQL
語句,並在兩種情況下都收到以下錯誤消息。
錯誤代碼:1411不正確的日期時間值:「」的功能 STR_TO_DATE
我已經看了生產my.cnf
和我的地方my.ini
尋找任何重大分歧,我也試着在本地使用sql-mode「ALLOW_INVALID_DATES
」,但它沒有改變最終結果。
我知道我可以修改代碼,無法在這些空字符串傳中,但也有這樣的,在這個時候,我不希望更改所有這些可能的話許多語句。該客戶的預算和時間有限,我希望專注於他們的新需求。如果可能,我正在尋找關於如何讓我的本地環境正常運行的輸入信息。
謝謝你的時間。
''''不是有效的日期..應該添加什麼日期?當前日期? – 2013-02-19 15:48:19
不,它在本地和生產中傳遞一個空字符串。我知道這很奇怪,我不確定它是如何在生產中工作的,但它是。 – ItBHarsH 2013-02-19 15:50:53