我正在尝试创建一个更改整个数据库中的字符串的过程...经过大量搜索后我得出了这个过程,但它给出了一个错误。程序是:
BEGIN
declare t,c varchar(100);
declare TABLES cursor for SELECT table_name, column_name
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA`='MY_DATABSE';
declare exit handler for 1329 begin end;
open tables;
looping: loop
fetch tables into t,c;
SET @s1= CONCAT('UPDATE ',
'MY_DATABASE', '.', t, ' SET ',
c, ' = replace(', c,', \'', old, '\'', ' , ', '\'', new, '\')');
PREPARE stmt FROM @s1;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
end loop;
close tables;
END
使用任何参数调用过程时的错误是语法中众所周知的1064错误:检查与MySQL服务器版本对应的手册,以便在'column_to_update(c)= replace(column_to_update(c)附近使用正确的语法),'old','new')'在第1行