gpt4 book ai didi

php - 本地主机上的mysql程序奇怪的错误

转载 作者:行者123 更新时间:2023-11-29 06:13:44 25 4
gpt4 key购买 nike

我正在尝试使用过程更改我的 mysql 数据库的字符集。

我几年前写的,直到今天才回过头来。

由此我犯了一个奇怪的错误:

下面是我的程序:

Create procedure changecharset()
Begin
Declare tname varchar(255);
Declare done int default 0;
Declare tc Cursor For
Select TABLE_NAME From information_schema.TABLES Where TABLE_SCHEMA = schema();
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;

Open tc;
myloop: loop
Fetch tc into tname;
If done = 1 Then
Leave myloop;
End if ;
Set @query = Concat('Alter Table `', tname, '` convert to character set utf8 collate utf8_swedish_ci;');
PREPARE alterstmt FROM @query;
execute alterstmt ;
Deallocate prepare alterstmt;
End loop;

close tc;
End //

Delimiter ;
[/sql]

这是mysql服务器的回答

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use

near '' at line 3

任何形式的帮助将不胜感激

最佳答案

看起来 MySQL 将分号视为语句的结尾。

确保在运行 CREATE PROCEDURE 语句之前更改分隔符。

DELIMITER $$

CREATE PROCEDURE foo()
BEGIN
DECLARE ... ;
SET ... ;
END $$

DELIMITER ;

关于php - 本地主机上的mysql程序奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37018091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com