Ich versuche, Charset meiner MySQL-Datenbank mit einem Verfahren zu ändern.mysqlprocedure seltsamer Fehler auf localhost
Ich schrieb es vor ein paar Jahren und ging nicht zurück, bis heute.
Damit habe ich einen seltsamen Fehler:
unter meiner Prozedur:
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]
und dies ist die Antwort von MySQL-Server
1064 - Sie haben einen Fehler in Ihrem SQL-Syntax; Sie in der Bedienungsanleitung zu Ihrem MySQL-Server-Version entspricht, die für die richtige Syntax
in der Nähe von ‚‘ in Zeile verwenden 3
anykind Hilfe wird viel
Einige besondere Gründe für "utf8_swedish_ci" anstelle der bevorzugten "utf8_unicode_520_ci"? –
Die spezifische Sprache utf8 encoding (z. B. utf8_swedish_ci) enthält zusätzliche Sprachregeln, die sie am genauesten für diese Sprachen sortieren lassen. –