mysql - 添加datetime列并插入另一个表上引用的值

时间:2012-06-25 10:00:01

标签: mysql sql database join

我有一个'结果'表,其中包含日期时间列'created_time'。 此表引用另一个表'results_values'(results.id reference result_values.results_id)。这里有表格描述:

mysql> describe webforms_results;
+------------------+------------+------+-----+---------+----------------+
| Field            | Type       | Null | Key | Default | Extra          |
+------------------+------------+------+-----+---------+----------------+
| id               | int(11)    | NO   | PRI | NULL    | auto_increment |
| webform_id       | int(11)    | NO   |     | NULL    |                |
| store_id         | int(11)    | NO   |     | NULL    |                |
| customer_id      | int(11)    | NO   |     | NULL    |                |
| customer_ip      | bigint(20) | NO   |     | NULL    |                |
| created_time     | datetime   | NO   |     | NULL    |                |
| update_time      | datetime   | NO   |     | NULL    |                |
| approved         | tinyint(1) | NO   |     | NULL    |                |
| view_on_frontend | tinyint(1) | NO   |     | 0       |                |
+------------------+------------+------+-----+---------+----------------+


mysql> describe webforms_results_values;
+--------------+----------+------+-----+---------+----------------+
| Field        | Type     | Null | Key | Default | Extra          |
+--------------+----------+------+-----+---------+----------------+
| id           | int(11)  | NO   | PRI | NULL    | auto_increment |
| result_id    | int(11)  | NO   | MUL | NULL    |                |
| field_id     | int(11)  | NO   |     | NULL    |                |
| value        | text     | NO   |     | NULL    |                |
| rating       | int(11)  | YES  |     | NULL    |                |
| created_time | datetime | YES  |     | NULL    |                |
+--------------+----------+------+-----+---------+----------------+

现在我在'results_values'上添加了一个datetime列'created_time',我想在第二个表上插入日期时间,从相应id的第一个表中复制它们。有快速的方法吗?

2 个答案:

答案 0 :(得分:2)

是触发器是解决方案。如果您想更新已插入的数据,可以执行以下操作:

UPDATE webforms_results_values wrv INNER JOIN webforms_results wr
ON wrv.result_id = wr.id
SET wrv.created_time = wr.created_time

答案 1 :(得分:1)

创建“触发器”以更新这些表的每次更新。

请参阅以下网址: Triggers