Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да накарам mysqli да работи с DELIMITER в SQL изрази?

Това е източникът, който ми помогна да разбера това...http://zend-framework-community.634137.n4.nabble.com/Problems-changing-the-sql-end-of-statement-delimiter-tp2124060p6html

Вярвам, че това е просто нещо, което някои MySQL клиенти са внедрили, за да помогнат за доставката на куп sql оператори едновременно.

драйвер на mysqli не прилага тази функционалност.

Така че, това трябва да работи.

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

Попаднах на същия проблем, със същия драйвер на mysqli, с функция multi_query (използвайки разделители при създаване на процедури) и премахване на DELIMITER от моя SQL работи.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Параметър номер 2 не е OUT параметър

  2. Как да убия MySQL връзки

  3. Защо да използвате bin2hex, когато вмъквате двоични данни от PHP в MySQL?

  4. Къде мога да изтегля примерна база данни Mysql?

  5. Как да разделите DATE и TIME от DATETIME в MySQL