sql >> Database >  >> RDS >> Mysql

Hoe mysqli te laten werken met DELIMITER's in SQL-statements?

Dit is de bron die me hielp dit te begrijpen...http://zend-framework-community.634137.n4.nabble.com/Problems-changing-the-sql-end-of-statement-delimiter-tp2124060p2124276.html

Ik geloof dat het gewoon iets is dat sommige MySQL-clients hebben geïmplementeerd om een ​​heleboel sql-statements tegelijkertijd te verzenden.

mysqli-stuurprogramma implementeert deze functionaliteit niet.

Dit zou dus moeten werken.

$query = <<<QUERY
DROP VIEW IF EXISTS `myview` ;
SHOW WARNINGS;
DROP TABLE IF EXISTS `myview`;
SHOW WARNINGS;

CREATE OR REPLACE VIEW `myview` AS

...view definition...

;
SHOW WARNINGS;

SET [email protected]_SQL_MODE;
SET [email protected]_FOREIGN_KEY_CHECKS;
SET [email protected]_UNIQUE_CHECKS;
QUERY;

$result = mysqli_multi_query($dbConnection, $query);

Ik kwam hetzelfde probleem tegen, met dezelfde mysqli-driver, met de multi_query-functie (gebruik van scheidingstekens tijdens het maken van procedures) en het verwijderen van de DELIMITER van mijn SQL werkte.




  1. Voorbeeld Oracle-functie (retournummer)

  2. php password_verify werkt niet met database

  3. Krijg alle kinderen op ouder-ID en waar-clausule in mysql

  4. hoe LIKE te gebruiken met kolomnaam