Я пытаюсь изучить SQL через «Learn SQL the Hard Way», и у меня возникают трудности с командной строкой. В частности, у меня возникают проблемы с 3rd exercise.SQLite не печатает
Я могу создать базу данных с ex2.sql по телефону
sqlite3 ex3.db < ex2.sql
Это должно создать базу данных со схемой:
CREATE TABLE person (
id INTEGER PRIMARY KEY,
first_name TEXT,
last_name TEXT,
age INTEGER
);
CREATE TABLE pet (
id INTEGER PRIMARY KEY,
name TEXT,
breed TEXT,
age INTEGER,
dead INTEGER
);
CREATE TABLE person_pet (
person_id INTEGER,
pet_id INTEGER
);
Calling .schema на sqlite3 ex3.db распечатывает именно это.
Затем я использую ex3.sql, который имеет содержание:
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);
Я вставки в ex3.db, говоря:
sqlite3 -echo ex3.db < ex3.sql
Согласно книге, это должен вставить значения из EX3 .sql в ex3.db, распечатывая, что он делает. Однако, когда я набираю выше в cmd, он ничего не печатает. И когда я звоню
sqlite3 ex3.db
select * from person;
все еще ничего не показывает. Я предполагаю, что либо файл базы данных не обновляется, а что-то с моей установкой пошло не так, или я что-то путаю здесь. Оцените любую помощь, которая может быть предоставлена.
Что произойдет, если вы выполните 'sqlite3 ex3.db
JCollerton
Ничего. Он пропускает строку, затем переходит к следующему приглашению. – NvgtrWiggles
Откройте 'ex3.sql', у вас все еще есть свои команды? – JCollerton