Mysql
 sql >> Datenbank >  >> RDS >> Mysql

wie man den mysql-Befehl DELIMITER ausführt

Sie wahrscheinlich nicht müssen das Trennzeichen ändern.

Das Trennzeichen wird in der CLI benötigt, um festzustellen, wo die SQL-Anweisung endet, da die CLI weitere Anweisungen liest und ausführt, bis Sie sie anhalten (z. B. mit exit). oder Steuerung-D). Aber was es tatsächlich liest, ist nur ein Strom von Zeichen; es muss irgendwie herausfinden, wo eine Anweisung endet und die nächste beginnt. Das macht das Trennzeichen.

In PHP führt jeder Funktionsaufruf eine Anweisung aus. Es können nicht mehrere Anweisungen in einem Funktionsaufruf enthalten sein, daher besteht keine Notwendigkeit, sie abzugrenzen. Die Anweisung ist die gesamte Zeichenfolge. Dies gilt für die alte mysql_query sowie die neuere mysqli_query und PDO. Natürlich gibt es mysqli_multi_query wenn Sie wirklich mehrere Abfragen an eine Funktion übergeben möchten.

Bei einer gespeicherten Prozedur/einem Trigger/einer Funktion/usw. kann es mehrere Anweisungen geben, aber das wird von MySQL selbst gehandhabt (und ist immer ; , SO VIEL ICH WEISS). Soweit es PHP betrifft, ist das immer noch eine Aussage.

Die Trennzeicheneinstellung, die Sie in phpMyAdmin sehen, wird wahrscheinlich verwendet, um Anweisungen zu trennen, und wird wahrscheinlich im PHP-Code vorgenommen. Es muss dies tun, weil es Benutzereingaben akzeptiert, die aus mehreren Anweisungen bestehen, aber nur eine Anweisung pro Funktionsaufruf übergeben darf. (Ich habe den phpMyAdmin-Code nicht überprüft, um ganz sicher zu sein).