2010-10-08 34 views
2

我已經試過這添加分鐘DATETIME上插入 - MySQL的

INSERT INTO products 
(product_id, product_type, created_dt, end_dt) 
VALUES 
('11', '1', '2010-10-08 00:11:10', DATE_SUB(2010-10-08 00:11:10, INTERVAL 59 Minute)) 

但是,這是行不通的。任何其他方式在Mysql中做到這一點?

謝謝!

回答

2

用途:

INSERT INTO products 
    (product_id, product_type, created_dt, end_dt) 
VALUES 
    (11, 
    '1', 
    '2010-10-08 00:11:10', 
    DATE_ADD(STR_TO_DATE('2010-10-08 00:11:10', '%Y-%m-%d %H:%i:%s'), INTERVAL 59 MINUTE) 
) 

在MySQL的49年5月1日,它不會加/減,因爲它沒有隱含字符串轉換爲DATETIME數據類型。所以我不得不use STR_TO_DATE to explicitly convert the string into a DATETIME。否則,MySQL工作臺返回BLOB ...

+0

太棒了!非常感謝。 – dzm 2010-10-08 04:32:11

+0

@dave:不客氣 - 如果我沒有測試它,我不會發現問題。 – 2010-10-08 04:32:45

+0

其實,這似乎已經減去59秒,而不是增加 – dzm 2010-10-08 04:34:22

0

使用timestamp爲你的數據庫.. 像

$date = time(); 

和這個變量保存在數據庫中的值。

如果你想要檢索的日期格式的日期,然後在

time('M-Y-D',timestamp); 

利用這個時間戳記會格式化timestampin日期格式或格式ü把在功能...

檢查PHP mannual爲time()here

+0

那麼我使用日期時間戳... – dzm 2010-10-08 04:22:36

0

嘗試:

INSERT INTO products 
(product_id, product_type, created_dt, end_dt) 
VALUES 
('11', '1', '2010-10-08 00:11:10', '2010-10-08 00:11:10' - INTERVAL 59 Minute) 
+0

''2010-10-08 00:11:10' - INTERVAL 59分鐘'返回'BLOB'在MySQL工作臺,反對MySQL 5.1.49 – 2010-10-08 04:25:44

+0

沒有拋出錯誤,只是好像忽略了它。 – dzm 2010-10-08 04:29:08