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

BŁĄD 1064 (42000) w MySQL

(Dla tych, którzy przychodzą do tego pytania z wyszukiwarki), sprawdź, czy procedury składowane deklarują niestandardowy ogranicznik, ponieważ jest to błąd, który możesz zobaczyć, gdy wyszukiwarka nie może dowiedzieć się, jak zakończyć instrukcję:

Jeśli masz zrzut bazy danych i widzisz:

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;

Spróbuj zawinąć za pomocą niestandardowego DELIMITER :

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. Obliczanie całkowitego czasu trwania w MySQL

  2. Synchronizuj 2 tabele różnych baz danych - MySQL

  3. Jak sprawdzić, czy data jest pomiędzy date1 a date2 za pomocą mysql?

  4. Zwrócić wszystkie wiersze z wartością MAX w SQL?

  5. Sortowanie kolumny ciągów zawierającej liczby w SQL?