gpt4 book ai didi

mysql - 如何使用 auto_increment 在游标循环中插入和更新

转载 作者:行者123 更新时间:2023-11-30 22:19:07 25 4
gpt4 key购买 nike

我已经尝试浏览许多主题,但如果弄清楚我的语法有什么问题,都没有成功。我正在尝试获取一个表的不同值并在 id 自动递增时循环插入到另一个表中。这是我到目前为止所拥有的,我似乎无法弄清楚我做错了什么。我写了2个程序。他们都“工作”但不工作。

感谢您的帮助!

基本上我试图从一个表插入到另一个表,并使用 AUTO_INCREMENT 生成我的 build_id。我要填充的表是:

permits.build_type

build_id INT PK
build_desc VARCHAR(200)

代码是:

DELIMITER //

CREATE PROCEDURE building_list()
BEGIN
DECLARE output VARCHAR(200);
DECLARE my_cursor CURSOR FOR
SELECT DISTINCT BUILDING_TYPE
FROM permits.edmonton_upto_10may2016_mostly_text;

OPEN my_cursor;
BEGIN
DECLARE EXIT HANDLER FOR NOT FOUND BEGIN END;
LOOP
FETCH my_cursor INTO output;
INSERT INTO permits.build_type (build_desc) VALUES (output);
UPDATE permits.build_type SET build_id = LAST_INSERT_ID();
END LOOP;
END;
CLOSE my_cursor;
END//

最佳答案

为什么不使用简单的 INSERT SELECT?

INSERT INTO built_type(build_desc)
SELECT DISTINCT BUILDING_TYPE
FROM permits.edmonton_upto_10may2016_mostly_text;

关于mysql - 如何使用 auto_increment 在游标循环中插入和更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37222173/

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