Heim  >  Artikel  >  Datenbank  >  Wie parametrisiere ich die LIMIT-Klausel in gespeicherten MySQL-Prozeduren?

Wie parametrisiere ich die LIMIT-Klausel in gespeicherten MySQL-Prozeduren?

DDD
DDDOriginal
2024-11-03 05:54:03980Durchsuche

How to Parameterize the LIMIT Clause in MySQL Stored Procedures?

Parameterisierung der LIMIT-Klausel in gespeicherten MySQL-Prozeduren

Frage:

Beim Erstellen einer Paging-Klasse möchten Sie zwei Parameter an eine gespeicherte MySQL-Prozedur übergeben LIMIT-Klausel. Der Versuch, INT-Parameter und eine Abfragestruktur wie die folgende zu verwenden, führt jedoch zu einem Fehler:

<code class="sql">SELECT *
FROM
`MyTable`
LIMIT
MyFirstParamInt, MySecondParamInt</code>

Gibt es einen alternativen Ansatz, um diese Parametrisierung zu erreichen, oder ist die dynamische Abfragekonstruktion und -ausführung die einzige Lösung?

Antwort:

Vor MySQL 5.5.6:

Vor Version 5.5.6 wurde die Parametrisierung der LIMIT-Klausel in gespeicherten MySQL-Prozeduren nicht unterstützt . Daher war das dynamische Erstellen und Ausführen der Abfrage die einzig mögliche Methode.

MySQL 5.5.6 und höher:

Ab MySQL 5.5.6 wurde es Es ist möglich, die LIMIT- und OFFSET-Klauseln mithilfe von INTEGER-Parametern zu parametrisieren. Übergeben Sie dazu einfach die Parameter der gespeicherten Prozedur direkt an LIMIT und OFFSET, wie unten gezeigt:

<code class="sql">SELECT *
FROM
`MyTable`
LIMIT ? OFFSET ?</code>

In diesem Beispiel ? stellt die Platzhalter für die beiden INTEGER-Parameter dar, die Sie übergeben möchten.

Das obige ist der detaillierte Inhalt vonWie parametrisiere ich die LIMIT-Klausel in gespeicherten MySQL-Prozeduren?. 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