Heim >Java >javaLernprogramm >Warum kann ich in vorbereiteten Anweisungen keine Parameter für Tabellennamen verwenden?

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

Patricia Arquette
Patricia ArquetteOriginal
2024-12-11 19:27:16773Durchsuche

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

Festlegen des Tabellennamens mithilfe vorbereiteter Anweisungen: Ein Leitfaden zur Fehlervermeidung

Beim Versuch, einen Tabellennamen als Parameter für eine vorbereitete Anweisung festzulegen ist es wichtig, die durch Datenbanksysteme auferlegten Einschränkungen zu verstehen. Entgegen den allgemeinen Erwartungen erfordern Datenbanken eine harte Codierung von Tabellennamen, wodurch die Verwendung von Parametern für diesen Zweck verhindert wird.

Um den im bereitgestellten Beispielcode aufgetretenen Fehler zu beheben, muss die Abfragezeichenfolge so geändert werden, dass die Der Tabellenname wird explizit angegeben, anstatt einen Parameter zu verwenden. Anstatt beispielsweise die Abfrage zu verwenden:

private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM [?]"; //?=date

Sie können Folgendes verwenden:

private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM [" + reportDate + "?]";

Durch die harte Codierung des Tabellennamens als Teil der Abfragezeichenfolge können Sie die Abfrage erfolgreich ausführen und rufen Sie die gewünschten Daten ab, ohne auf Parameterfehler zu stoßen.

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

Stellungnahme:
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