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

KESALAHAN 1064 (42000) di MySQL

(Bagi mereka yang menjawab pertanyaan ini dari mesin telusur), periksa apakah prosedur tersimpan Anda mendeklarasikan pembatas khusus, karena ini adalah kesalahan yang mungkin Anda lihat saat mesin tidak dapat menemukan cara menghentikan pernyataan:

Jika Anda memiliki dump database dan melihat:

DROP PROCEDURE IF EXISTS prc_test;
CREATE PROCEDURE prc_test( test varchar(50))
BEGIN
    SET @sqlstr = CONCAT_WS(' ', 'CREATE DATABASE',  test, 'CHARACTER SET utf8 COLLATE utf8_general_ci');
    SELECT @sqlstr;
    PREPARE stmt FROM @sqlstr;
    EXECUTE stmt;
END;

Coba bungkus dengan DELIMITER khusus :

DROP PROCEDURE IF EXISTS prc_test;
DELIMITER $$
CREATE PROCEDURE prc_test( test varchar(50))
BEGIN
    SET @sqlstr = CONCAT_WS(' ', 'CREATE DATABASE',  test, 'CHARACTER SET utf8 COLLATE utf8_general_ci');
    SELECT @sqlstr;
    PREPARE stmt FROM @sqlstr;
    EXECUTE stmt;
END;
$$
DELIMITER ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. lokasi direktori data mysql

  2. mengonversi stempel waktu menjadi tanggal di java

  3. MYSQL, pesanan sangat lambat oleh

  4. Praktik Terbaik untuk memigrasikan data dari MySQL ke BigQuery

  5. Simpan Aksen di Database MySQL