多くのトピックを調べてみましたが、私の構文に何が間違っているかを理解することはできませんでした。私はidがauto_incrementingである間に、別のテーブルに1つのテーブルとループインサートの別個の値を取ろうとしています。ここに私がこれまで持っているものがあり、私が間違っていることを理解できないようです。私は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