0
非常に単純なMySQLクエリが機能するのに問題があります。私は、文字列フィールドが特定の値を持つ行のテーブルを検索しています。私が比較している文字列が引用符で囲まれていると、 "Unknown column"というエラーが出ます。文字列が引用符で囲まれていない場合は、「Illegal double error」と表示されます。私が作ってい予期しない二重列または未知列のエラーを返すMySQL文字列比較クエリ
クエリは、(引用符なし)です:
SELECT * FROM `userprofile_userprofile` WHERE `userprofile_userprofile`.`firebaseUID` = 4929e406-9d75-43e2-afa4-fe641f3e85f5
と(文字列の前後に引用符付き):
SELECT * FROM `userprofile_userprofile` WHERE `userprofile_userprofile`.`firebaseUID` = `4929e406-9d75-43e2-afa4-fe641f3e85f5`
これは私のテーブルと内容です:
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;
2番目のクエリの文字列の引用符は表示されませんか?あなたはバックティックの引用符を間違えているかもしれない。 – Mihai
引用符を表示するために質問を編集しました。 –
私はそれらがバックティックであると思った – Mihai