繁体   English   中英

MySQL选择并更新一条语句

[英]MySQL select and update in one statement

我想要一个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 |
+----------------+-------------+----------------------+

我建议使用mysql 存储过程 这样,您可以拥有大量的变量和for循环。 这将易于实施和维护。

您可以将这篇文章用作入门教程。

希望我能帮上忙!

我建议在插入时使用触发器 ,这是一个带有触发器的小提琴

触发小提琴

但是,如果您不希望这样做,可以执行以下操作:

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_valuechange_date_value

这是一个小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM