mysql> describe break;
+-------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| start | datetime | YES | | NULL | |
| end | datetime | YES | | NULL | |
| duration | datetime | YES | | NULL | |
| date | datetime | YES | | NULL | |
| employee_id | int(11) | NO | MUL | NULL | |
+-------------+----------+------+-----+---------+----------------+
6 rows in set (0.00 sec)
我想使用上表中的開始值和結束值計算(並更新)'duration'列。例如:動態更新數據庫列
UPDATE break SET duration=TIMEDIFF(start, end) WHERE employee_id=1;
唉,這將持續時間列0000-00-00 00:00:00
mysql> select * from break\G;
*************************** 1. row ***************************
id: 30
start: 2013-08-06 15:43:17
end: 2013-08-06 15:55:42
duration: 0000-00-00 00:00:00
date: 2013-08-06 15:43:17
employee_id: 1
1 row in set (0.00 sec)
幫助
爲什麼要存儲兩次相同的信息?即您已經有開始和結束,爲什麼需要存儲差異?此外,您的「持續時間」欄不應該是日期時間,因爲它不是一個瞬間的時間。我可能會使用'int'並存儲秒數。 – leftclickben