1

我找不到如何将变量用作 Outfile。

DECLARE wOutFile CHAR(256);
SET wOutFile = CONCAT('c/data/',wDateStr,'.csv');
SELECT * FROM sometable
INTO OUTFILE wOutFile;

以上在最后一行呈现错误。MySQL Workbench 中的语法解析器不喜欢最后一行的 wOutFile。

有没有办法告诉解析器使用变量的内容?

我试图搜索一段时间,但我不能很好地表达我的问题。

4

1 回答 1

4

如果你想从字符串中创建新语句,那么你应该使用准备好的语句-

DECLARE wOutFile CHAR(256);
SET wOutFile = CONCAT('c/data/',wDateStr,'.csv');

SET @var = CONCAT('SELECT * FROM sometable INTO OUTFILE ', wOutFile);
PREPARE stmt FROM @var;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
于 2012-12-06T07:15:35.883 回答