Hallo,
ich habe hier in einem Projekt folgende Tabelle:
Hierzu sende ich über ein beliebiges Abfragetool (z.B. MySQL Query Browser unter Windows) folgende Abfrage:
Diese Abfrage gibt Datensätze aus. Die Implikation ist, dass sich die Datensätze nicht selbst finden. Dazu ein paar Ideen und Fragen:
1. Abfragen werden im Text an den Server gesendet und dort ausgeführt, bis die Ergebnisse zurückgemeldet werden können. Wie kann es dann zu diesem Problem kommen?
2. Haben die Einstellungen für Collation der Verbindung oder des Clients ggf. doch Einfluß auf die Ausführung des Servers? Diese sind folgendermaßen vergeben:
3. Eigentlich wollten wir alles auf UTF8 umstellen, um solchen Problemen zu entkommen, aber UTF8 bietet als Collation keine irgendwie deutschgeartete Collation an. Mit welchen Einstellungen fahrt ihr produktive MySQL-Datenbanken, die UTF8 codiert sind?
Danke,
Thomas
ich habe hier in einem Projekt folgende Tabelle:
Code:
DROP TABLE IF EXISTS `simplepilot`.`users`;
CREATE TABLE `users` (
`username` varchar(100) NOT NULL DEFAULT '',
`shops_domain` varchar(100) NOT NULL DEFAULT '',
`kunden_name` varchar(100) NOT NULL DEFAULT '',
`passwort` varchar(40) NOT NULL DEFAULT '',
`passwort_aendern` varchar(5) NOT NULL DEFAULT 'false',
`rolle` varchar(20) NOT NULL DEFAULT '',
`kontakte_id_rechnung` int(11) NOT NULL DEFAULT '0',
`kontakte_id_lieferung` int(11) NOT NULL DEFAULT '0',
`ueberprueft` varchar(5) NOT NULL DEFAULT 'false',
`agb_akzeptiert` varchar(5) NOT NULL DEFAULT 'false',
`gesamtsortiment` varchar(5) NOT NULL DEFAULT 'true',
`auftraege_durchleiten` varchar(5) NOT NULL DEFAULT 'false',
`auftraege_durchleiten_bis` double NOT NULL,
`kundennummer` varchar(20) NOT NULL,
`gesperrt` varchar(5) NOT NULL DEFAULT 'false',
`vorgesetztenfunktion_aktiv` varchar(5) NOT NULL DEFAULT 'false',
`vorgesetzter_username` varchar(100) NOT NULL,
`vertreterregelung_aktiv` varchar(5) NOT NULL DEFAULT 'false',
`vertreter_username` varchar(100) NOT NULL,
`geaendert_von` varchar(100) NOT NULL DEFAULT '',
`geaendert_am` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`username`,`shops_domain`),
KEY `kunden_name` (`kunden_name`),
KEY `ueberprueft` (`ueberprueft`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Hierzu sende ich über ein beliebiges Abfragetool (z.B. MySQL Query Browser unter Windows) folgende Abfrage:
Code:
select u.shops_domain,u.username,u.kontakte_id_lieferung
from users u
left outer join users u2 on u2.shops_domain = u.shops_domain and u2.username = u.username
where not u.kontakte_id_lieferung is null and not u.kontakte_id_lieferung = 0
and u2.username is null;
Diese Abfrage gibt Datensätze aus. Die Implikation ist, dass sich die Datensätze nicht selbst finden. Dazu ein paar Ideen und Fragen:
1. Abfragen werden im Text an den Server gesendet und dort ausgeführt, bis die Ergebnisse zurückgemeldet werden können. Wie kann es dann zu diesem Problem kommen?
2. Haben die Einstellungen für Collation der Verbindung oder des Clients ggf. doch Einfluß auf die Ausführung des Servers? Diese sind folgendermaßen vergeben:
Code:
'collation_connection', 'utf8_general_ci'
'collation_database', 'latin1_swedish_ci'
'collation_server', 'latin1_swedish_ci'
3. Eigentlich wollten wir alles auf UTF8 umstellen, um solchen Problemen zu entkommen, aber UTF8 bietet als Collation keine irgendwie deutschgeartete Collation an. Mit welchen Einstellungen fahrt ihr produktive MySQL-Datenbanken, die UTF8 codiert sind?
Danke,
Thomas