gpt4 book ai didi

mysql - 多次插入同一个表

转载 作者:行者123 更新时间:2023-11-29 10:20:17 25 4
gpt4 key购买 nike

我需要一个脚本来插入关系表。例如,该关系表有一个来自表 A 的 ID 列。我们添加了一个新列,即表 B 中的 ID。

有没有办法为B中的每一行INSERT INTO A SELECT...A id B ID

我正在尝试使用存储过程(这不起作用),但如果您有任何其他建议,请随意。

DELIMITER $$

CREATE PROCEDURE fixNewIDColumn()
BEGIN

DECLARE a_id INT;
DECLARE b_id INT;
DECLARE finished_a BOOL DEFAULT FALSE;
DECLARE finished_b BOOL DEFAULT FALSE;
DECLARE a_cursor CURSOR FOR SELECT id FROM a;
DECLARE b_cursor CURSOR FOR SELECT id FROM b;

OPEN a_cursor;
BEGIN
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished_a = TRUE;
a_loop: LOOP

FETCH a_cursor INTO a_id;

IF finished_a THEN
LEAVE a_loop;
END IF;

OPEN b_cursor;
BEGIN
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished_b = TRUE;

b_loop: LOOP

FETCH b_cursor INTO b_id;

IF finished_b THEN
SET finished_a = FALSE;
LEAVE b_loop;
END IF;

INSERT INTO a VALUES (a_id, b_id);

END LOOP b_loop;
CLOSE b_cursor;
END;

END LOOP a_loop;
CLOSE a_cursor;
END;
END

最佳答案

试试这个

INSERT INTO A(id)
SELECT id
FROM B

尝试使用CROSS JOIN

INSERT INTO A(a_id, b_id)
SELECT a.a_id, b.b_id
FROM TableA a
CROSS JOIN TableB b

关于mysql - 多次插入同一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49394140/

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