Hinweise zu mySQL collation: Unterschied zwischen den Versionen
Aus GEVITAS
								
												
				|  (Die Seite wurde neu angelegt: „== Worum es geht ==  Beim Ausführen eines Programmteils unter mySQL kommt es zu dieser Fehlermeldung:     Illegal mix of collations (latin1_german1_ci, IMPLIC…“) | |||
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 15: | Zeile 15: | ||
| ;Setzt den Standard für eine Datenbank: | ;Setzt den Standard für eine Datenbank: | ||
| − | :ALTER DATABASE  | + | :ALTER DATABASE reflex CHARACTER SET latin1 COLLATE latin1_german1_ci; | 
| − | Standard heisst aber nur, dass neue Felder bzw. Tabellen diese Collation bekommen, die  | + | '''Standard''' heisst aber nur, dass '''neue''' Felder bzw. Tabellen diese Collation bekommen, die '''bestehenden''' Felder/Tabellen werden '''nicht''' geändert! | 
| ;Zum Ändern muss das hier verwendet werden: | ;Zum Ändern muss das hier verwendet werden: | ||
| − | :ALTER TABLE  | + | :ALTER TABLE `maufko_version` CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci ; | 
| − | :ALTER TABLE  | + | :ALTER TABLE `mauffu_version` CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci ; | 
| − | :ALTER TABLE  | + | :ALTER TABLE `maufpo_version` CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci ; | 
| + | |||
| + | ;Das kann man auch im REFLEX-Checker (ab Vers. 4.12.23.0310) machen: | ||
| + | :Im SQL-Editor rechte Maustaste auf die Tabelle und auswählen mySQL ⇒ Collation auf " latin1_german1_ci" setzen | ||
Aktuelle Version vom 10. März 2023, 13:14 Uhr
1 Worum es geht
Beim Ausführen eines Programmteils unter mySQL kommt es zu dieser Fehlermeldung:
 
Illegal mix of collations (latin1_german1_ci, IMPLICIT) and (latin1_swedish_ci, IMPLICIT) for operation '<>'
Hier verwendet MySQL für die Datenbank als Standard die Collation (Zeichensatz) „latin1_swedish_ci“, der Standard bei einigen mySQL-Versionen. Als Folge nimmt die Datenbank für neue String-Felder immer als Standard die Collation „latin1_swedish_ci“!
2 Ändern der collation
- Setzt den Standard für eine Tabelle
- ALTER TABLE `maufko_version` COLLATE = latin1_german1_ci ;
- Setzt den Standard für eine Datenbank
- ALTER DATABASE reflex CHARACTER SET latin1 COLLATE latin1_german1_ci;
Standard heisst aber nur, dass neue Felder bzw. Tabellen diese Collation bekommen, die bestehenden Felder/Tabellen werden nicht geändert!
- Zum Ändern muss das hier verwendet werden
- ALTER TABLE `maufko_version` CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci ;
- ALTER TABLE `mauffu_version` CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci ;
- ALTER TABLE `maufpo_version` CONVERT TO CHARACTER SET latin1 COLLATE latin1_german1_ci ;
- Das kann man auch im REFLEX-Checker (ab Vers. 4.12.23.0310) machen
- Im SQL-Editor rechte Maustaste auf die Tabelle und auswählen mySQL ⇒ Collation auf " latin1_german1_ci" setzen
