Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak sprawić, by mysqli działał z DELIMITERami w instrukcjach SQL?

To jest źródło, które pomogło mi to zrozumieć...http://zend-framework-community.634137.n4.nabble.com/Problemy-zmiana-sql-ogranicznika-końca-oświadczenia-tp214060p2124276.html

Uważam, że jest to po prostu coś, co zaimplementowali niektórzy klienci MySQL, aby pomóc w wysyłaniu wielu instrukcji sql w tym samym czasie.

sterownik mysqli nie implementuje tej funkcji.

Więc to powinno działać.

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

Natrafiłem na ten sam problem, z tym samym sterownikiem mysqli, z funkcją multi_query (używanie ograniczników podczas tworzenia procedur) i usunięciem DELIMITER z mojego SQL zadziałało.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Praktyczny limit długości zapytania SQL (w szczególności MySQL)

  2. Projektowanie bazy danych:system inwentaryzacji i sprzedaży?

  3. Niedozwolona mieszanka zestawień (utf8_general_ci,IMPLICIT) i (utf8_unicode_ci,IMPLICIT) dla operacji '=' w MySQL Stored Procedure

  4. Jaki jest najlepszy i najłatwiejszy sposób na wypełnienie listy rozwijanej na podstawie innej listy rozwijanej?

  5. Problem z wartością domyślną MySQL