Hallo,
im Rahmen eines Tests ist mir aufgefallen, dass meine MySQL keine Ergebnisse für ein SELECT der Form
ausspuckt. Das hat zur Folge, dass auf diese Tabelle immer wieder ein INSERT mit den Fremdschlüsseln zur Benutzer- und Applikationstabelle ausgelöst wird.
Ich habe folgende Beobachtungen gemacht:
1. Selektiere ich in meiner Applikation mit
bekomme ich immer ein Ergebnis.
2. Selektiere ich mit dem obigen Statement, ist das Ergebnis Null, sprich ich bekomme keine Zeile zurück, obwohl ich genau weiß, dass in der Tabelle Datensätze gefunden werden müssten.
3. Schicke ich das SELECT copy&paste auf der Kommandozeile ab, so bekomme ich auch keine Ergebnisse. Ein
liefert jedoch die gewünschten Ergebnisse:
4. Schicke ich das obige Statement in PHPMyAdmin ab, liefert es mir auch keine Ergebnisse, klicke ich mir das Statement im Reiter "Suche" zurecht (hier kommt dann
raus), bekomme ich die gewünschten Ergebnisse.
5. Schicke ich das Statement dann nochmal ab, erhalte ich wieder keine Ergebnisse.
Hier nochmal die Tabellenstruktur:
Ich habe folgendes vergeblich versucht:
1. Ändern der Indizes
2. Anlegen von eigenen Indizes für die Spalten "ApplicationID" und "UserID"
3. Ändern der Storagengine auf INNODB
4. Wechselweitiges Weglassen der Tics und einfachen Quotes
5. Export -> Delete -> Import der Tabelle
6. Reparieren der Tabelle
7. Setzen der Verbindungskollations auf UTF8 oder wahlweise auch auf ISO-8859-1
8. Umstellen des Zeichensatzes der PHP-Dateien
9. Umstellen des Zeichensatzes der Auslieferung des HTML-Quelltextes
Hat jemand Ideen oder kennt gar einen Bug/das Problem?
im Rahmen eines Tests ist mir aufgefallen, dass meine MySQL keine Ergebnisse für ein SELECT der Form
Code:
SELECT * FROM `cmp_application2user` WHERE `ApplicationID` = 3 AND `UserID` = 1;
Ich habe folgende Beobachtungen gemacht:
1. Selektiere ich in meiner Applikation mit
Code:
SELECT * FROM `cmp_application2user`;
2. Selektiere ich mit dem obigen Statement, ist das Ergebnis Null, sprich ich bekomme keine Zeile zurück, obwohl ich genau weiß, dass in der Tabelle Datensätze gefunden werden müssten.
3. Schicke ich das SELECT copy&paste auf der Kommandozeile ab, so bekomme ich auch keine Ergebnisse. Ein
Code:
SELECT * FROM cmp_application2user;
Code:
mysql> SELECT * FROM cmp_application2user WHERE ApplicationID = 3 AND UserID = 1; Empty set (0.00 sec) mysql> select * from cmp_application2user; +-------+---------------+--------+ | CMPID | ApplicationID | UserID | +-------+---------------+--------+ | 1 | 1 | 3 | | 2 | 1 | 3 | | 3 | 1 | 3 | | 4 | 1 | 3 | | 5 | 1 | 3 | | 6 | 1 | 3 | | 7 | 1 | 3 | +-------+---------------+--------+ 7 rows in set (0.00 sec) mysql>
Code:
SELECT * FROM `cmp_application2user` WHERE `ApplicationID` =1 AND `UserID` =3 LIMIT 0 , 30
5. Schicke ich das Statement dann nochmal ab, erhalte ich wieder keine Ergebnisse.
Hier nochmal die Tabellenstruktur:
Code:
mysql> explain cmp_application2user; +---------------+------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+------------+------+-----+---------+----------------+ | CMPID | tinyint(5) | | PRI | NULL | auto_increment | | ApplicationID | tinyint(5) | | MUL | 0 | | | UserID | tinyint(5) | | | 0 | | +---------------+------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec)
1. Ändern der Indizes
2. Anlegen von eigenen Indizes für die Spalten "ApplicationID" und "UserID"
3. Ändern der Storagengine auf INNODB
4. Wechselweitiges Weglassen der Tics und einfachen Quotes
5. Export -> Delete -> Import der Tabelle
6. Reparieren der Tabelle
7. Setzen der Verbindungskollations auf UTF8 oder wahlweise auch auf ISO-8859-1
8. Umstellen des Zeichensatzes der PHP-Dateien
9. Umstellen des Zeichensatzes der Auslieferung des HTML-Quelltextes
Hat jemand Ideen oder kennt gar einen Bug/das Problem?
Kommentar