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

标签 sql sqlite echo

Here is a SQL class I'm taking online.我想我对 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.

类(class)有错误吗?我不认为他曾经要求用户创建一个 ex3.sql 文件?

假设这是一个拼写错误,我将 echo 语句更改为使用 ex2.sql,因为这是包含我的 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 文件?

最佳答案

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

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

关于sql - 艰难地学习 SQL - 练习 3 - 插入数据 - 找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19144700/

相关文章:

sqlite - 使用python创建的sqlite-shm和sqlite-wal文件从json生成sqlite

php - 在 PHP 中替换字符串的相似但不同的部分?

sql - 从 varchar 或 text 列中提取多个匹配项作为 MariaDB 中的行

java - 在没有巨大列表参数的情况下重写 Hibernate 查询

java - 如何显示 ArrayList<Bitmap> 中的图像 (SQLlte)

c++ - SQLite 适合我的游戏吗?

java - jOOQ - 方法调用

python - 加入sqlalchemy后如何解决歧义列

php - echo 自增id疑问

Bash:如何结束 printf 或回显,然后换行