2012-05-08 19 views
2

我試圖找出定義自定義Magento數據庫表中Created At和Updated At字段的最佳方法。「Created At和Updated At」數據庫屬性的定義

我想要以下功能。

當插入一個新行時,「Created At」屬性會自動賦予CURRENT_TIMESTAMP值,並且「Updated at」屬性會被賦值爲NULL。

更新行時,「創建時間」屬性未更改,「更新時間」屬性自動更新爲CURRENT_TIMESTAMP。

到目前爲止,我有:

CREATE TABLE `instances` (
`instance_id` int(11) unsigned NOT NULL auto_increment, 
`created_at` timestamp NOT NULL default CURRENT_TIMESTAMP, 
`updated_at` timestamp NULL on update CURRENT_TIMESTAMP, 
PRIMARY KEY (`instance_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 

其失敗:#1293 - 不正確的表定義;在DEFAULT或ON UPDATE子句中只能有一個帶CURRENT_TIMESTAMP的TIMESTAMP列

我正在嘗試使這篇文章的正面和反面文字爲here但我只是越來越困惑。在此澄清將不勝感激!

非常感謝。

回答

1
  1. Ther只有1個條目與DEFAULT CURRENT_TIMESTAMP。這是MySql的事情。
  2. Magento以其他方式設置這些字段:通過在保存多個模型之前設置這些屬性。因此,尋找那些:
 
Mage_Eav_Model_Entity_Attribute_Backend_Time_Updated 
Mage_Eav_Model_Entity_Attribute_Backend_Time_Created 
Mage_Eav_Model_Entity_Attribute 
相關問題