2016-04-07 4 views
0

私は間違っていますか?MysqlのTIMESTAMPトリガが機能しません

私はトリガー持っtable1にINSERTデータにtable1 を持っています。その結果

BEGIN 
    INSERT INTO table2 (`c_id`, `date`, `product_id`, `price`) 
    VALUES (
      NEW.c_id, 
      NEW.date = CURRENT_TIMESTAMP, 
      NEW.product_id, 
      NEW.price 
     ); END 


CREATE TABLE `table2` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `c_id` int(11) NOT NULL, 
    `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 
    `product_id` int(11) NOT NULL, 
    `price` decimal(9,2) DEFAULT NULL, 
    PRIMARY KEY (`id`), 
    KEY `c_data` (`c_id`,`date`,`product_id`) 
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=latin1; 

を、私は

MySQLバージョン5.6.28日付で0000-00-00 00:00:00取得

+0

挿入クエリから 'date'とNEW.date = CURRENT_TIMESTAMPを削除します。デフォルトでは、mysqlは日付を設定します。 –

+0

MySQLバージョン5.6.28 –

+0

@MangeshSatheINDを意味する:BEGIN競合者の価格(competitor_id'、 'variant_id'、' price')の値に挿入する(NEW.competitor_id、NEW.variant_id、NEW.price);終わり ??? –

答えて

0

dateおよびNEW.date = CURRENT_TIMESTAMPを挿入クエリから削除します。デフォルトでmysqldateに設定されます。

INSERT INTO table2 (`c_id`, `product_id`, `price`) 
    VALUES (
      NEW.c_id, 
      NEW.product_id, 
      NEW.price 
     ); 
関連する問題