Ich habe eine Tabelle Typen, die die folgenden Spalten enthält: ID, Name, Typ. Die Tabelle ist mit etwa 300 Zeilen gefüllt. Einer der Reihen:MySQL einfache Abfrage gibt Nullzeilen zurück
ID Name Type
------------------
1 BMW S 1000 RR
Die folgende Abfrage gibt diese Zeile:
SELECT * FROM Types WHERE Name = 'BMW'
jedoch die folgende Abfrage gibt nichts:
SELECT * FROM Types WHERE Type = 'S 1000 RR'
Es sind keine zusätzlichen Leerzeichen in der Art, und die Datentypen Name und Typ sind genau gleich (varchar 255, utf8_unicode_ci). Was kann das möglicherweise verursachen?
Ich benutze MySQL, InnoDB. Mit phpMyAdmin bekomme ich genau die gleichen Ergebnisse, so ist kein Tippfehler in Spaltennamen ...
Ich finde es sehr überraschend, dass die Abfrage funktioniert in jedem Fall. 'types' und' type' sind beide MySQL-reservierte Wörter und hätten eigentlich nicht ohne Backtick-Escaping funktionieren sollen. – apokryfos
@apokryfos das ist nicht korrekt. Niether von ihnen ist Reserviert und keiner von ihnen erfordert Backticks –
@ HankyPanky [diese Seite] (https://dev.mysql.com/doc/refman/5.7/en/keywords.html) scheint sonst zu behaupten – apokryfos