我想要一个MySQL命令
UPDATE.....SELECT
更新我的Previous_Change_Date
如下表所示。
有人可以帮忙吗?
+----------------+-------------+----------------------+
| Product_Number | Change_Date | Previous_Change_Date |
+----------------+-------------+----------------------+
| 30000319 | 1178581980 | 1178581860 |
| 30000319 | 1178581860 | 1170916740 |
| 30000319 | 1170916740 | 1138779000 |
| 30000319 | 1138779000 | NULL |
| 30000327 | 1178581860 | 1138779000 |
| 30000327 | 1138779000 | NULL |
| 30000348 | 1170916740 | 1162451400 |
| 30000348 | 1162451400 | NULL |
| 30000443 | 1195713360 | 1191287160 |
| 30000443 | 1191287160 | 1184720940 |
| 30000443 | 1184720940 | 1176421080 |
| 30000443 | 1176421080 | 1173766980 |
| 30000443 | 1173766980 | 1173050460 |
| 30000443 | 1173050460 | 1170816780 |
| 30000443 | 1170816780 | 1170496980 |
| 30000443 | 1170496980 | 1166078340 |
| 30000443 | 1166078340 | NULL |
+----------------+-------------+----------------------+
答案 0 :(得分:0)
答案 1 :(得分:0)
我建议在插入时使用trigger,这里有一个触发器
但是如果你不想要这里是你能做的:
INSERT INTO table_name (Product_Number, Change_Date, Previous_Change_Date)
VALUES (product_num_value, change_date_value,
(SELECT date FROM (SELECT MAX(Change_Date) AS date FROM table_name
WHERE Product_Number='product_num_value') as temp_table));
您必须将table_name
更改为实际的table_name并更改值product_num_value
和change_date_value
这是fiddle