2013-03-07 32 views
1

創建視圖,聲明如下:在mysql中創建視圖時,是否可以使用日期函數?

DELIMITER $$ 
USE `dada`$$ 
DROP VIEW IF EXISTS `view_product_new`$$ 
CREATE ALGORITHM=UNDEFINED DEFINER=`dada`@`%` SQL SECURITY DEFINER VIEW `view_product_new` AS 
SELECT product_id,FROM_UNIXTIME(`update_date`,'%Y%m%d') FROM web_product$$ 
DELIMITER ; 

視圖可以成功創建,但我的二進制日誌被銷燬。 聲明如下:

mysqlbinlog可以MySQL的-bin.000167

ERROR:錯誤Log_event :: read_log_event(): '讀取錯誤',DATA_LEN:66129,event_type不同:32

如果刪除FROM_UNIXTIME( update_date,「%Y%M%d」),上述說法不發生

我的MySQL版本是5.1.30

+0

5.1是一個相當老的版本,我不認爲它的官方支持了。即使這是我建議你嘗試升級到更新的版本 – GordonM 2013-03-07 07:29:16

+0

是的,我改變版本到5.1.68,問題不會發生。謝謝! – baozailove 2013-03-08 06:25:05

回答

0

正如我所說的在我的評論,您使用的是比較舊的版本MySQL,在2009年之前出現實際上,according to wikipedia

老版本都與港口已固定在新版本中的錯誤,所以沒有什麼明顯的錯誤與您的代碼有可能是升級將解決您遇到的問題。

即使不是這樣,它在你的興趣反正升級。 5.1分支是Oracle目前支持的最老的分支。他們最近還發布了MySQL的5.6,他們可能不想繼續的3個分支有效維護...

5.6是新的,所以它可能仍然得到了需要熨燙出來的問題,但你應該很安全升級, 5.5提供了先備份數據庫。如果最壞的情況出現最嚴重的情況,5.5版本的安裝就會出現無法解決的問題,您可以隨時使用備份回滾到舊版本。

+0

現在,我們沒有特別的要求,所以我會在有空的時候嘗試! – baozailove 2013-03-08 08:12:44

相關問題