Sakila Schema不是导入MySQL的

时间:2012-07-21 02:40:57

标签: mysql

我在Mysql5.0.51b中导入Sakila数据库时遇到问题。 具体问题出现在'DELIMITER SYNTAX'中,我尝试了一些替代方案,但没有用。

我使用APPServr。

MYSQL MESSAGE ERROR:

    --
-- Triggers for loading film_text from film
--
DELIMITER;


MySQL said: 

#1064 - You have an error in your SQL syntax; check the manual that 
 corresponds to your MySQL server version for the right syntax to use near 
'DELIMITER' at line 1

DELIMITER CODE:

DELIMITER ;;
CREATE TRIGGER `ins_film` AFTER INSERT ON `film` FOR EACH ROW BEGIN
    INSERT INTO film_text (film_id, title, description)
        VALUES (new.film_id, new.title, new.description);
  END;;


CREATE TRIGGER `upd_film` AFTER UPDATE ON `film` FOR EACH ROW BEGIN
    IF (old.title != new.title) OR (old.description != new.description) OR (old.film_id != new.film_id)
    THEN
        UPDATE film_text
            SET title=new.title,
                description=new.description,
                film_id=new.film_id
        WHERE film_id=old.film_id;
    END IF;
  END;;


CREATE TRIGGER `del_film` AFTER DELETE ON `film` FOR EACH ROW BEGIN
    DELETE FROM film_text WHERE film_id = old.film_id;
  END;;

DELIMITER ; 

1 个答案:

答案 0 :(得分:0)

我不熟悉APPServr,并且怀疑它在发送到MySQL之前扭曲了一些命令(这​​不是指控,只是怀疑)。

我已成功在教室中多次导入sakila数据库。在我看来,最好的方法是从SOURCE命令行客户端简单地mysql

mysql> SOURCE /path/to/sakila-schema.sql
mysql> SOURCE /path/to/sakila-data.sql

否则,您可以通过命令行从shell / Command导入:

bash$ mysql < /path/to/sakila-schema.sql
bash$ mysql < /path/to/sakila-data.sql

而且,使用MySQL Workbench我已经证明没有问题。