我正在尝试编写一个 SQL 语句,该语句将生成一个 SQL 脚本,该脚本将使用从数据库中选择的 IMAGE 更新一个 BLOB 字段。
这就是我所拥有的:
select concat( 'UPDATE `IMAGE` SET THUMBNAIL = ',
QUOTE( THUMBNAIL ),
' WHERE ID = ', ID, ';' ) as UPDATE_STATEMENT
from IMAGE;
在上面,THUMBNAIL 是一个包含原始图像数据的 BLOB 字段。当我运行生成的脚本时,出现以下错误:
ERROR at line 2: Unknown command '\\'.
我首先在没有 QUOTE() 函数的情况下尝试了这个,如下所示:
select concat( 'UPDATE `IMAGE` SET THUMBNAIL = \'',
THUMBNAIL,
'\' WHERE ID = ', ID, ';' ) as UPDATE_STATEMENT
from IMAGE;
运行生成的脚本会产生此错误:
ERROR at line 2: Unknown command '\0'.
在选择中应用于此 BLOB 字段的正确函数是什么,因此 UPDATE 语句将起作用?
如果需要上下文,我希望仅将在一台服务器上生成的缩略图迁移到另一台服务器,以获取某些图像 ID。我会使用 mysqldump,但我不想破坏整个表。
任何帮助是极大的赞赏!