Wie zu bestimmen, ob eine Tabelle einen Wert enthält, die in SQL?
Ich fühle mich wie ich bin etwas fehlt ganz offensichtlich hier, aber es scheint, dass der einzige Weg, dies zu tun ist, um den Wert und dann sehen, ob es gibt eine null (leer) Wert, ich würde es eher nicht tun.
Gibt es ein äquivalent zur Liste.contains(Object o) in der SQL? Oder vielleicht die JDBC-hat etwas in der Natur? Wenn dem so ist, was ist es? Danke.
BEARBEITEN:
Ich bin mit Microsoft Access 2013.
EDIT 2:
Leider habe ich keine nützlichen code zu zeigen, aber hier ist das wesentliche, was ich zu tun versuche. Es ist nicht etwas einzigartiges an alle. Ich möchte eine Methode (Java) liefert die Werte eines Benutzers werden in der Datenbank gespeichert. Wenn der Benutzer bisher noch nicht zur Datenbank Hinzugefügt wurde, wird der Benutzer Hinzugefügt werden soll, und die default-Werte des Nutzers eingestellt werden sollte. Dann diejenigen, die neu geschaffenen Werte werden zurückgegeben. Wenn ein Spieler bereits zur Datenbank Hinzugefügt wurde (mit dem username als primary key), ich will nicht die Daten überschreiben, die bereits vorhanden ist.
EDIT 3:
Ich habe das problem gelöst! Siehe meine Antwort unten.
SELECT 1 FROM <table> WHERE <column> = <value> LIMIT 1;
?Ich nehme an, nichts ist falsch mit ihm. Ich bin sehr neu in SQL, und ich verwendet, um diese Art von Dingen, die bereits bestehenden Funktionen, die dafür sorgen, dass der Betrieb, wie Liste.contains(Object o). Ich kann immer nur meine eigene Methode, die in Java bedeutet, dass die operation für mich. Ich habe gerade immer so zu begrenzen, sich wiederholenden code, so viel wie ich kann, und ich würde mit, einer Menge.
Können Sie beschreiben, was Sie den code zu tun? Angenommen, Sie haben eine Abfrage, was soll die Abfrage?
Ich bin neu in SQL, und es ist nicht so, was ich versuche zu tun, ist einzigartig. Wenn jemand, der noch nie verwendet meine Anwendung, bevor Sie versucht, die die Datenbank verwenden, Sie sollten nur Hinzugefügt werden, mit deren username als primary key. Wenn Sie bereits Hinzugefügt wurden, der code sollte nicht versuchen, fügen Sie Sie der Datenbank erneut.
In JDBC, sollten Sie sich natürlich verwenden Sie einen
PreparedStatement
mit statischen SQL anstatt der Bewertung etwas mit einer Schnur, die von einem Benutzer. Andernfalls können Sie lassen Sie in die Dämonen von sql-injection -...InformationsquelleAutor TacoManStan | 2013-12-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der einzige Weg, um zu sehen, ob eine SQL-Tabelle enthält eine Zeile mit einer Bedingung auf eine Spalte ist, bis tatsächlich eine SQL-Abfrage. Ich sehe nicht ein, warum würden Sie nicht tun. Stellen Sie sicher, dass Sie über einen index auf die Spalte, die Sie einschränken der Ergebnisse auf. Auch für bessere Geschwindigkeit verwenden
count
um zu verhindern, dass aus abrufen alle Daten aus den Zeilen.Vorausgesetzt, Sie haben einen index für die
bar
Spalte dieser Abfrage sollte Recht schnell gehen, und alles, was Sie tun müssen, ist zu prüfen, ob es gibt > 0. Wenn es dann funktioniert, müssen Sie die Zeilen, die Ihren Kriterien entsprechen.InformationsquelleAutor Darin Dimitrov
Können Sie "
IF EXISTS
" das gibt einenboolean
Wert von1
oder0
.Ein Weiteres Beispiel:
Überprüfen Sie, mein ein Beispiel.
InformationsquelleAutor Ravinder Reddy
Kann man einfach einen Query mit Bedingung.
Zum Beispiel, wenn Sie haben zu prüfen, Datensätze mit bestimmten Spalte, die Sie verwenden können
where
ZustandKönnen Sie
count
Eigenschaft zu prüfen, die keine. von Sätzen mit Ihrem angegebenen ZustandInformationsquelleAutor Haji
Erstellt habe ich die folgende Methode, die meines Wissens funktioniert perfekt. (Mit dem java.sql-Paket)
Es ist eine extrem einfache und sehr grundlegende Methode, aber ich hoffe, es kann jemand helfen in der Zukunft.
Wenn es etwas falsch mit ihm, lassen Sie es mich bitte wissen. Ich glaube nicht, dass jemand lernen aus oder mit schlecht geschriebenen code.
InformationsquelleAutor TacoManStan
Ich bin auch neu in sql und ich bin mit Oracle.
In Oracle, nehmen wir an, wir haben: TYP: Wert.
Können wir verwenden:
sicherstellen Wert nicht vorhanden in der Spalte TYP der Tabelle.
Weiß nicht, ob es hilft.
InformationsquelleAutor Peng