2012-05-08 17 views
2

Im MagentoカスタムデータベーステーブルのCreated AtおよびUpdated Atフィールドを定義する最良の方法は何かを理解しようとしています。"作成済みAtおよびUpdated At"データベース属性の定義

私は以下の機能が欲しいです。

新しい行が挿入されると、「作成済み」属性には自動的にCURRENT_TIMESTAMPの値が与えられ、「更新時」属性には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列が1つしかない場合があります

私はこの記事の頭と尾をhereにしようとしていますが、もっと混乱しています。ここでの明確化は大いに評価されるでしょう!

ありがとう。

答えて

1
  1. TherはDEFAULT CURRENT_TIMESTAMPの1エントリです。これはMySqlのことです。
  2. Magentoは、これらのフィールドをいくつかのモデルに保存する前に設定することによって、これらのフィールドを別の方法で設定します。だから、それらを見て:
 
Mage_Eav_Model_Entity_Attribute_Backend_Time_Updated 
Mage_Eav_Model_Entity_Attribute_Backend_Time_Created 
Mage_Eav_Model_Entity_Attribute 
関連する問題