


Wie kann ich dynamische SQL-Abfragen in MySQL ausführen, ohne EXEC oder EXECUTE zu verwenden?
Strings in MySQL ausführen
Eine der häufigsten Aufgaben in der Programmierung ist die Fähigkeit, SQL-Abfragen dynamisch zu generieren und auszuführen. In MySQL ist diese Funktionalität nicht so einfach wie in einigen anderen Sprachen wie SQL Server, das für diesen Zweck den EXEC-Befehl bereitstellt.
Problem:
Ein Benutzer möchte um eine gespeicherte Prozedur in MSSQL zu konvertieren, die ein Varchar als Abfrage verwendet. Allerdings werden EXEC und EXECUTE in MySQL nicht unterstützt und CALL funktioniert ebenfalls nicht.
Lösung:
Während MySQL kein exaktes Äquivalent der Eval-Funktion von JavaScript hat gibt es eine Problemumgehung mithilfe einer Kombination aus dynamischem SQL und gespeicherten Prozeduren. So kann dies erreicht werden:
- Bereiten Sie die dynamische Abfrage vor: Verwenden Sie eine abgeleitete Tabelle, um die einzufügenden Werte zu verketten, was zu einer einzelnen Zeichenfolge führt, die die SQL-Abfrage enthält.
- Vorbereitete Anweisung erstellen: Weisen Sie die dynamische Abfrage mithilfe von PREPARE einer vorbereiteten Anweisungsvariablen zu Anweisung.
- Vorbereitete Anweisung ausführen: Führt die vorbereitete Anweisung mit der EXECUTE-Anweisung aus.
- Zuweisung der vorbereiteten Anweisung aufheben: Nach dem Ausführen der Abfrage Geben Sie die vorbereitete Anweisungsvariable mit DEALLOCATE PREPARE frei Anweisung.
Beispiel:
Der folgende Codeausschnitt veranschaulicht die Lösung:
SET @queryString = ( SELECT CONCAT('INSERT INTO user_group (`group_id`,`user_id`) VALUES ', www.vals) as res FROM ( SELECT GROUP_CONCAT(qwe.asd SEPARATOR ',') as vals FROM ( SELECT CONCAT('(59,', user_id, ')') as asd FROM access WHERE residency = 9 ) as qwe ) as www ); PREPARE stmt FROM @queryString; EXECUTE stmt; DEALLOCATE PREPARE stmt; SET @asd = NULL;
Das obige ist der detaillierte Inhalt vonWie kann ich dynamische SQL-Abfragen in MySQL ausführen, ohne EXEC oder EXECUTE zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

TodropaviewInmysql, verwenden Sie "dropviewifexistsView_name;" und tomodifyAview, verwenden Sie "creetorReplaceViewView_nameasSelect ...". WhendroppingAView, AXIZENDENDEPENTENDENSANDUSUSE "SHOWREATEVIEWVIEW_NAME;" "

MySQLViewScaneffectivItilizedEntatternSliKeadapter, Dekorateur, Factory undobserver.1) adapterPatternAdaptsdatafromDifferentTableStoaunifiedView.2) DekoratorpatternHancesDataWithokulediel.3) FactoryPatherncreat.ProduculedFeld.3) FactoryPathertoryPectoryPectoryPectoryPectoryPectoryPectoryPectoryPectoryPectoryPectoryPectoryPectoryPectoryPectoryPectoryPectoryPectoryPectoryPectoryPectoryPectoryPectoryPectoryPectoration

ViewSinMysqLarbenicialforSimplifyTyComplexQueries, Verbesserung der Sicherheit, Sicherstellung von Dataconsistenz und optimizierterformance.1) SimplifyComplexQueriesbyCapscapsThemintorusableViewViews.2) ViewSenhiteCurityByControllingDataAccess.3) TheenedatacocurityBycaprollingDataAccess.3) TheenedatacocurityBycaprollingDataAccess.3) TheenedatacocurityBycaperingDataAccess.3) TheenedatacocurityBycaperingDataAccess.3) TheenedatacocurityByCaperingDataAccess.3) TheenedatacocourityByCaprollingDataAccess.3) Theensedataco

ToCreateAsimpleviewInmysql, UsethecreateviewStatement.1) definessetheviewWithCreateView_nameas.2)

Tocreateusersinmysql, useTheCecreateuserStatement.1) ForAlocalUser: CreateUser'LocalUser '@' localhost'ididentifiedBy'SecurePassword ';

MySQLViewShavelimitations: 1) Sie sind supportallsqloperationen, restriktedatamanipulation ThroughviewswithjoinSuBqueries.2) Sie können sich angesehen, insbesondere mit der kompetenten Formata -Ansichten, die docrexQuqueriesorlargedatasets angezeigt werden

OrteSermanagementinmysqlisicialforenHancingSecurityAnsuringEffizienceDatabaseoperation.1) Usecreateutertoaddusers, spezifizierende Connections mit 'localhost'or@'%'.

Mysqldoes nicht imposeahardlimitontriggers, aber praktische Faktorendeterminetheireffectiveuse: 1) serverconfigurationImpactstriggermanagement;


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools
