У меня есть следующая таблица, сохраненная в виде файла csv:
project_number,project_name
1,project_1
2,project_2
3,project_3
Я выяснил, как импортировать это и показать его схему в базе данных sqlite3 следующим образом:
sqlite> .mode csv
sqlite> .import
sqlite> .import test.csv test
sqlite> .schema test
CREATE TABLE test(
"project_number" TEXT,
"project_name" TEXT
);
Я хотел бы теперь установить столбец project_number
в качестве моего первичного ключа, а также установить его как целое число. Из предыдущих вопросов я понимаю, что это трудно сделать, изменив исходную таблицу, поэтому я попытался создать новую таблицу, заполненную с использованием комбинации create table
, create table as
, insert into
и select * from
, как указано здесь
sqlite> create table test_2 (project_name text, project_number primary key);
sqlite> insert into test_2 (select project_name, project_number from test);
Error: near "select": syntax error
Но, как вы можете видеть, это вызвало синтаксическую ошибку, и я не понимаю, почему. Как мне установить первичный ключ для таблиц, импортированных из csvs?