我有以下两个表。 “曲目”表中没有艺术家/曲目名称(Thery都是NULL)。我想用'names'表中的artist_name和track_name来更新'曲目'。 “名称”表有242,416,787条记录,轨道表约有400万条。 arist /曲目名称由track_id关联,所以我只希望条目形成“名称”,我有track_ids。SQLite更新表与另一个表中的记录子集的条目
CREATE TABLE tracks (
s3_url VARCHAR(128),
track_id INTEGER KEY,
cluster_id INTEGER KEY,
rank INTEGER KEY,
group_id VARCHAR(128),
artist_name VARCHAR(128),
track_name VARCHAR(128),
set_name VARCHAR(128),
file_size INTEGER KEY);
CREATE TABLE names (
artist_name VARCHAR(128),
track_name VARCHAR(128),
track_id INTEGER KEY,
album_name VARCHAR(128));
这里是我到目前为止,这让我的记录中的名字“,我有track_ids为:
SELECT names.artist_name, f.track_id FROM names INNER JOIN tracks AS f ON names.track_id=f.track_id
我不能找出如何再东西的结果返回进入'轨道'表。我尝试一些以下的效果:
UPDATE x SET artist_name=SELECT names.artist_name, f.track_id FROM names INNER JOIN tracks AS f ON names.track_id=f.track_id) AS x;
这些线程here,and here来完成类似的事情,并表明JOIN/UPDATE在SQLite是不支持的。
想要的最终结果是用'names'中的artist_name和track_name填充'曲目'中的所有条目。
不更新。加入时需要查看值。 –