ユーザー変数に設定されたテーブル名内で LOAD DATA INFILE を実行できますか?
動作しないスクリプトは次のとおりです。
INSERT INTO Demand (name, comment, scale) VALUES (A,A,1);
SET @Demand_id = LAST_INSERT_ID();
INSERT INTO Matrices (name, comment, total) VALUES (Matrix_0_1);
SET @Matrices_last_id = LAST_INSERT_ID();
INSERT INTO DemandSegment (usertype, Matrix, scale) SELECT 1, id, 2 FROM Matrices WHERE id = @matrice_last_id;
SET @DemandSegment_last_id = LAST_INSERT_ID();
INSERT INTO Demand_DemandSegment (Demand_id, DemandSegment_id) VALUES(@Demand_id, @DemandSegment_last_id);
SET @matrix_creation = CONCAT("CREATE TABLE Matrix_",@matrices_last_id," LIKE Matrix_2");
PREPARE stmt from @matrix_creation;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @matrix_insertion = CONCAT("LOAD DATA INFILE '0.csv' INTO TABLE Matrix_",@Matrices_last_id);
PREPARE stmt from @matrix_insertion;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
これが私が得るエラーです:
ERROR 1295 (HY000): This command is not supported in the prepared statement protocol yet
ERROR 1243 (HY000): Unknown prepared statement handler (stmt) given to EXECUTE
ERROR 1243 (HY000): Unknown prepared statement handler (stmt) given to DEALLOCATE PREPARE
私が読むことができるように、そうすることが不可能である場合、代替手段はありますか?