首页 > 解决方案 > 从 sqlite3 INNER JOIN 一无所获

问题描述

我在 sqlite3 数据库中有两个表,电影和 castxxxx,我正在尝试对电影 ID 进行内部连接。这是架构:

CREATE TABLE movies (id integer, name text, score integer);
CREATE TABLE castxxxx (movie_id integer, cast_id integer, cast_name text,
FOREIGN KEY (movie_id) REFERENCES movies(id));

以下是 castxxxx 的示例:

770876554,770773491,"Edmund Pegge"||
770876554,770925843,"Noel Travarthen"||
770972512,335716545,"Noam Chomsky"||

这是来自电影的记录,其 id 与 castxxxx 上的 movie_id 770876554 匹配:

770876554|Anzacs - The War Down Under|48

当我运行 inners joins 时,没有返回任何内容。例如

SELECT castxxxx.cast_name
FROM movies
INNER JOIN castxxxx ON castxxxx.movie_id = movies.id;

作为另一个问题,我正在从 csv 导入数据,但是当字段设置为主键时,我不允许这样做。如果在 sqlite 中无法访问 ALTER TABLE 命令,如何在导入后设置主键?

我尝试了许多不同的组合。我究竟做错了什么?

标签: databasesqlite

解决方案


CL指出的答案是我忘记更改为...

.mode csv

在运行我的...

.import filename castxxxx

谢谢你!


推荐阅读