sql >> Databáze >  >> RDS >> Mysql

Jak přimět mysqli pracovat s DELIMITER v příkazech SQL?

Toto je zdroj, který mi pomohl toto pochopit...http://zend-framework-community.634137.n4.nabble.com/Problems-changing-the-sql-end-of-statement-delimiter-tp2124060p6.2html

Věřím, že je to jen něco, co někteří klienti MySQL implementovali, aby pomohli odeslat spoustu příkazů SQL současně.

ovladač mysqli neimplementuje tuto funkci.

Takže by to mělo fungovat.

$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);

Narazil jsem na stejný problém, se stejným ovladačem mysqli, s funkcí multi_query (pomocí oddělovačů při vytváření procedur) a odstraněním DELIMITER z mého SQL fungovalo.




  1. MySQL:Jak získat délku textu ve sloupci

  2. Jak změnit řazení sloupců bez ztráty nebo změny dat?

  3. Parametrizovaný dotaz pro MySQL s C#

  4. Konverze se nezdařila při převodu hodnoty varchar 'simple,' na datový typ int