Heim > Datenbank > MySQL-Tutorial > Warum kann ich in JDBC keine vorbereiteten Anweisungen für Tabellennamen verwenden?

Warum kann ich in JDBC keine vorbereiteten Anweisungen für Tabellennamen verwenden?

Mary-Kate Olsen
Freigeben: 2025-01-19 13:37:09
Original
627 Leute haben es durchsucht

Why Can't I Use Prepared Statements for Table Names in JDBC?

Adressierung der Tabellennamenparametrisierung in vorbereiteten JDBC-Anweisungen

JDBC-vorbereitete Anweisungen bieten erhebliche Sicherheits- und Leistungsvorteile, weisen jedoch Einschränkungen auf. Eine dieser Einschränkungen besteht darin, dass Parameter nicht als Tabellennamen in SQL-Abfragen verwendet werden können. Der Versuch, dies zu tun, führt normalerweise zu Fehlern.

Die Lösung ist einfach: Anstatt einen Platzhalter für den Tabellennamen zu verwenden, integrieren Sie den Tabellennamen direkt in Ihre SQL-Abfragezeichenfolge. Zum Beispiel:

<code class="language-java">private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM " + reportDate; </code>
Nach dem Login kopieren

In diesem korrigierten Beispiel wird reportDate (von dem angenommen wird, dass es den tatsächlichen Tabellennamen enthält) direkt in die SQL-Zeichenfolge verkettet. Dies vermeidet den Versuch, den Tabellennamen zu parametrisieren, und ermöglicht eine erfolgreiche Ausführung der vorbereiteten Anweisung.

Diese Einschränkung ist unbedingt zu beachten: Tabellennamen werden in vorbereiteten Anweisungen nicht als Parameter behandelt und müssen explizit in die Abfrage einbezogen werden. Andernfalls führt dies zu Abfragefehlern.

Das obige ist der detaillierte Inhalt vonWarum kann ich in JDBC keine vorbereiteten Anweisungen für Tabellennamen verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage