1

Mysql5.0.51bにSakilaデータベースをインポートするのに問題があります。特定の問題は「DELIMITERSYNTAX」にあります。いくつかの代替案を試しましたが、機能しませんでした。

APPServrを使用しています。

MYSQLメッセージエラー:

    --
-- 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 ;;
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 ; 
4

1 に答える 1

1

私はに精通してAPPServrおらず、MySQLに送信する前にいくつかのコマンドをひねったのではないかと疑っています(これは告発ではなく、単なる疑惑です)。

sakila私は教室で何度もデータベースをインポートすることに成功しました。私の意見では、最良の方法は、コマンドラインクライアントSOURCEから単純にそれを実行することです。mysql

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

それ以外の場合は、シェル/コマンドからコマンドラインを介してインポートできます。

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

また、MySQL Workbenchを使用して、これに問題がないことを証明しました。

于 2012-07-21T05:12:50.953 に答える