我试图查看许多主题已经尝试过,并且没有成功,如果弄清楚我的语法有什么问题。我试图采取一个表的独特值和循环插入到另一个表中,而id是auto_incrementing。这是我迄今为止的,我似乎无法弄清楚我做错了什么。我编写了2个程序。他们都“工作”,但没有。如何使用auto_increment在游标循环中插入和更新
谢谢你的帮助!
基本上我试图从一个表插入到另一个表,并使用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//
你好,非常感谢你!多么愚蠢的答案是如此简单....当我阅读你的答案时,我完全面对... – Erilyn
很高兴能得到帮助 – e4c5