gpt4 book ai didi

MYSQL:使用通过在另一个表上插入生成的主表来更新一个表

转载 作者:行者123 更新时间:2023-11-29 12:16:06 25 4
gpt4 key购买 nike

有没有一种方法可以使用一个事务中在不同表上插入生成的主键来更新一个表上的列?

以下代码示例不起作用,但也许说明了我在 MySql 中尝试执行的操作:

UPDATE orders SET address_id = (INSERT INTO addresses() values())
WHERE order_id = 666

我正在尝试在 jdbcTemplate 更新的上下文中执行此操作。

最佳答案

您可以创建函数或过程并按顺序执行语句。

参见以下示例:

delimiter //

CREATE PROCEDURE insert_update_address (PARAMETERS)
BEGIN
INSERT INTO adresses(COLUMNS) values(PARAMETERS);
UPDATE orders SET address_id = LAST_INSERT_ID()
WHERE order_id = Parameter1;
END//

delimiter ;

并用以下方式调用它:

CALL insert_update_address(PARAMS);

更多信息请参见:

https://dev.mysql.com/doc/refman/5.0/en/create-procedure.html

关于MYSQL:使用通过在另一个表上插入生成的主表来更新一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29783684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com