2

mysql プロシージャを作成しました。ここにそのコード

BEGIN
  DECLARE done INT DEFAULT FALSE;
  DECLARE a , b, d TEXT;
  DECLARE c INT Default 0;
  DECLARE cur1 CURSOR FOR SELECT id, school_id  FROM my_list;
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
  OPEN cur1;
  read_loop: LOOP
    FETCH cur1 INTO a, b;
    IF done THEN
      LEAVE read_loop;
    END IF;
     insertSchool: LOOP  
         SET c = c + 1;
         d = SUBSTRING_INDEX(b, ',', c);
       IF d = "" THEN
          LEAVE insertSchool;
       END IF;      
        INSERT INTO my_school (my_id, school_id) VALUES (a,b);
    END LOOP insertSchool;
  END LOOP;
  CLOSE cur1;
END

この cur1 には学校 ID が文字列として含まれており、コンマで区切られた学校 ID が含まれています。これらのIDを分割して別のテーブルに保存したい。しかし、この行 d = SUBSTRING_INDEX(b, ',', c); エラーを示します。手順でSUBSTRING_INDEXを使用する方法を誰かが解決策を提供してもらえますか?

4

1 に答える 1