Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara membuat mysqli bekerja dengan DELIMITER dalam pernyataan SQL?

Ini adalah sumber yang membantu saya memahami ini...http://zend-framework-community.634137.n4.nabble.com/Problems-changing-the-sql-end-of-statement-delimiter-tp2124060p2124276.html

Saya yakin ini adalah sesuatu yang telah diterapkan oleh beberapa klien MySQL untuk membantu mengirimkan banyak pernyataan sql pada saat yang bersamaan.

pengandar mysqli tidak mengimplementasikan fungsi ini.

Jadi, ini seharusnya berhasil.

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

Saya mengalami masalah yang sama, dengan driver mysqli yang sama, dengan fungsi multi_query (menggunakan pembatas saat membuat prosedur) dan menghapus DELIMITER dari SQL saya berhasil.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL - Sisipkan Jika Tabel kosong

  2. Tipe data untuk URL

  3. SQLSTATE[23000]:Pelanggaran batasan integritas:1217

  4. Mengapa kode SQL ini memberikan kesalahan 1066 (Bukan tabel/alias unik:'pengguna')?

  5. MySQL CHECK alternatif kendala