Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
艰苦学习SQL-练习3-插入数据-找不到文件_Sql_Sqlite_Echo - Fatal编程技术网

艰苦学习SQL-练习3-插入数据-找不到文件

艰苦学习SQL-练习3-插入数据-找不到文件,sql,sqlite,echo,Sql,Sqlite,Echo,我想我对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, "Gigant

我想我对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
这堂课有错误吗?我想他从未要求用户创建ex3.sql文件

假设这是一个输入错误,我将echo语句改为使用ex2.sql,因为这是包含INSERT语句的文件

C:\SQLite> sqlite3 -echo ex3.db < ex3.sql
当我使用sqlite3-echo ex3.db
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文件?

错误消息试图告诉您找不到
ex3.sql


您应该使用旧的
ex2.sql
文件来创建表,并将新的
INSERT
语句放入
ex3.sql

中。这些命令似乎与我预期的一样工作,错误消息也是我预期看到的。我不认为调试某人的在线教程在SO的范围内。这个问题似乎离题了,因为它是关于在线教程中可能出现的错误tutorial@MikeW-该问题适用于哪个分支?删除ex3.db并执行sqlite3 ex3.db之前的所有命令。现在运行
sqlite3-echo ex3.db
。您刚刚尝试在现有数据库上执行相同的SQL。感谢Nazar,我想我应该只使用CREATE语句运行sqlite3 ex3.DBError: 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