これは私がオンラインで取っているSQLクラスです。SQL自体よりも、SQLファイルのセットアップについて混乱していると思います。INSERT ステートメントは簡単です。
INSERT INTO person (id, first_name, last_name, age)
VALUES (0, "Zed", "Shaw", 37);
INSERT INTO pet (id, name, breed, age, dead)
VALUES (0, "Fluffy", "Unicorn", 1000, 0);
INSERT INTO pet VALUES (1, "Gigantor", "Robot", 1, 1);
私の Windows コマンド プロンプトでは、これは正常に実行されます。
C:\SQLite> sqlite3 ex3.db < ex2.sql
私の ex2.sql では、レッスン 2 の CREATE ステートメントと INSERT ステートメントを組み合わせて、新しい ex3.db を作成することを提案しているようです。動作しているようです - エラーはありません。
次に、彼は次のステートメントを実行して、私の INSERT ステートメントを表示するように言います。
C:\SQLite> sqlite3 -echo ex3.db < ex3.sql
INSERT ステートメントを表示する代わりに、次のエラーが表示されます。
The system cannot find the file specified.
レッスンに誤りはありませんか?彼がユーザーに ex3.sql ファイルを作成するように依頼したことはないと思いますか?
これがタイプミスだと仮定して、ex2.sql を使用するように echo ステートメントを変更しました。これは、INSERT ステートメントを含むファイルだからです。
sqlite3 -echo ex3.db < ex2.sql を使用すると、次のエラーが発生します
Error: near line 1: table person already exists
Error: near line 8: table pet already exists
Error: near line 16: table person_pet already exists
INSERT INTO person (id, first_name, last_name, age)
VALUES (0, "Zed", "Shaw", 37);
Error: near line 21: PRIMARY KEY must be unique
INSERT INTO pet (id, name, breed, age, dead)
VALUES (0, "Fluffy", "Unicorn", 1000, 0);
Error: near line 24: PRIMARY KEY must be unique
INSERT INTO pet VALUES (1, "Gigantor", "Robot", 1, 1);
Error: near line 27: PRIMARY KEY must be unique
レッスンにタイプミスはありませんか?INSERT ステートメントのみを使用して ex3.sql ファイルを作成する必要がありましたか?