Heute ist mein Kollege beim Schreiben von MySQL-Abfrageanweisungen auf ein sehr merkwürdiges Problem gestoßen. Bei der Verwendung einer MySQL-Abfrage mit mehreren Tabellen wird ein Feld in einer Tabelle als Abfragebedingung einer anderen Tabelle verwendet. Es kann nur eine Information gelesen werden, aber wenn eine Zahl direkt verwendet wird, kann sie normal gelesen werden. Die SQL-Anweisung lautet wie folgt: wähle a.id,a.title,b.idlist,b.aid aus Tabelle a,Tabelle2 b, wobei a.id in(b.idlist) und b.aid=2
Mit der obigen Anweisung können Sie ganz normal abfragen, aber Sie können nur eine Information abfragen. Mit der folgenden Anweisung können Sie jedoch ganz normal lesen. wähle a.id,a.title,b.idlist,b.aid aus Tabelle a,table2 b, wobei a.id in(1,2,3,4) und b.aid=2 ist Das ist ein sehr seltsames Problem. Zuerst dachte ich, es sei ein Datentypproblem, aber um Daten im Format
OK, versuchen wir es zunächst und ändern die ursprüngliche SQL-Anweisung zu Wählen Sie a.id, a.title, b.idlist, b.aid aus Tabelle a, Tabelle2 b, wobei FIND_IN_SET(a.id, b.idlist) und b.aid=2 Führen Sie die geänderte Anweisung aus, und sie kann schließlich normal gelesen werden. Nach der Analyse des Grundes liegt es letztendlich am Datentypproblem. Wenn wir direkt in (b.idlist) lesen, ist die gelesene b.idlist ein Zeichentyp, und in akzeptiert nur Zahlen. Obwohl beide "," haben, sind sie tatsächlich völlig unterschiedlich. Nun, das Problem ist gelöst. Wenn Sie mehr über die Verwendung der Funktion FIND_IN_SET() erfahren möchten, können Sie die entsprechenden Artikel auf der Seite lesen. Das könnte Sie auch interessieren:
|
<<: Fragen zum Vorstellungsgespräch zu JS 9 Promise
>>: Installieren Sie Windows Server 2019 auf VMware Workstation (Grafisches Tutorial)
Was ist eine gespeicherte Prozedur? Einfach ausge...
Remotebereitstellung der MySQL-Datenbank unter Li...
<br />„Es gibt keine hässlichen Frauen auf d...
<br />Wenn ein Artikel auf einer Inhaltsseit...
Der Dienst des Unternehmens verwendet Docker und ...
1. Beschreiben Sie kurz die traditionelle LRU-ver...
1. Erstellen Sie eine Datenbankautorisierungserkl...
1. Wie konstruieren? Lassen Sie uns die allgemein...
Inhaltsverzeichnis 1. Sicherheitsprobleme mit Doc...
Code kopieren Der Code lautet wie folgt: <!--[...
1. Docker-Netzwerkverwaltung 1. Docker-Container-...
Vertikaler Tisch Vertikale Tabellenaufteilung bed...
Inhaltsverzeichnis POM-Konfiguration Setting.xml-...
Im Falle einer vollständigen Trennung von Front-E...
1. Einleitung Zuvor haben wir die schnelle Entwic...