Heim > Datenbank > MySQL-Tutorial > Wie führe ich SQL-Abfragen mit dynamisch generierten Tabellennamen in MySQL aus?

Wie führe ich SQL-Abfragen mit dynamisch generierten Tabellennamen in MySQL aus?

Linda Hamilton
Freigeben: 2024-11-07 15:57:03
Original
896 Leute haben es durchsucht

How to Execute SQL Queries with Dynamically Generated Table Names in MySQL?

Verwendung dynamischer Tabellennamen in MySQL-Abfragen

In MySQL kann die Ausführung von SQL-Abfragen mit dynamisch generierten Tabellennamen zu Fehlern führen. Um dies zu überwinden, können wir vorbereitete Anweisungen verwenden, die eine sichere und effiziente Möglichkeit bieten, mit solchen Szenarios umzugehen.

Im bereitgestellten Code:

SET @id := '47';
SET @table := @id+'_2013_2014_voucher';
SELECT * FROM @table;
Delete FROM @table where>
Nach dem Login kopieren

Der Fehler tritt auf, weil MySQL dies nicht tut Erkennen Sie „@table“ als gültigen Tabellennamen direkt in der Abfrage.

Um dieses Problem zu beheben, können wir eine vorbereitete Anweisung verwenden, um die Abfrage basierend auf dem Tabellennamen dynamisch zu erstellen. Der folgende Code zeigt, wie dies erreicht wird:

SET @id := '47';
SET @table := concat(@id,'_2013_2014_voucher');
set @qry1:= concat('select * from ',@table);
prepare stmt from @qry1 ;
execute stmt ;
Nach dem Login kopieren

In MySQL wird die Funktion „concat“ zur Zeichenfolgenverkettung verwendet. Wir verwenden es, um den Tabellennamen innerhalb der vorbereiteten Anweisung „@qry1“ zu erstellen.

Sobald die vorbereitete Anweisung erstellt ist, können wir sie mit dem Befehl „execute stmt“ ausführen. Dieser Ansatz ermöglicht es uns, Tabellennamen dynamisch zu generieren und Abfragen auszuführen, ohne dass Syntaxfehler auftreten.

Das obige ist der detaillierte Inhalt vonWie führe ich SQL-Abfragen mit dynamisch generierten Tabellennamen in MySQL aus?. 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