Ich habe Probleme bekommen eine sehr einfache MySQL-Abfrage zu arbeiten. Ich suche eine Tabelle nach einer Zeile, in der ein Stringfeld einen bestimmten Wert hat. Wenn die Zeichenfolge, die ich vergleiche, in Anführungszeichen steht, erhalte ich den Fehler "Unbekannte Spalte". Wenn der String nicht in Anführungszeichen steht, erhalte ich einen "Illegal double error".MySQL String Vergleich Abfrage entweder unerwarteten doppelten oder unbekannte Spalte Fehler
Die Abfragen Ich bilde sind (ohne Anführungszeichen):
SELECT * FROM `userprofile_userprofile` WHERE `userprofile_userprofile`.`firebaseUID` = 4929e406-9d75-43e2-afa4-fe641f3e85f5
und (mit Anführungszeichen um die Zeichenfolge):
SELECT * FROM `userprofile_userprofile` WHERE `userprofile_userprofile`.`firebaseUID` = `4929e406-9d75-43e2-afa4-fe641f3e85f5`
Das ist mein Tisch und Inhalt:
DROP TABLE IF EXISTS `userprofile_userprofile`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `userprofile_userprofile` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`firebaseUID` varchar(100) NOT NULL,
`user_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `user_id` (`user_id`),
CONSTRAINT `userprofile_userprofile_user_id_59dda034_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `userprofile_userprofile`
--
LOCK TABLES `userprofile_userprofile` WRITE;
/*!40000 ALTER TABLE `userprofile_userprofile` DISABLE KEYS */;
INSERT INTO `userprofile_userprofile` VALUES (1,'bdbe350a-9c96-4cc0-94f1-5406a9aaa3e7',17),(2,'4929e406-9d75-43e2-afa4-fe641f3e85f5',18);
/*!40000 ALTER TABLE `userprofile_userprofile` ENABLE KEYS */;
UNLOCK TABLES;
Ich sehe die Anführungszeichen um die Zeichenfolge in der zweiten Abfrage nicht? Sie könnten Zitate für Backticks verwechseln – Mihai
Die Frage bearbeitet, um die Zitate anzuzeigen. –
Wie ich vermutete, sind das Backticks – Mihai