gpt4 book ai didi

mysql - 将一个表的属性内容复制到不同数据库中的另一个表的属性

转载 作者:行者123 更新时间:2023-11-30 01:10:11 25 4
gpt4 key购买 nike

我有一个名为 Crew 的表,如下所示

Crew(  
ID int(11) NOT NULL UNIQUE, #every crew member has a unique ID associated with
MovieID INT(11) NOT NULL,
Name TEXT,
Position varchar(32), #role of the person in the movie
role_id int(11);
PRIMARY KEY (ID),
FOREIGN KEY (Worked_in) REFERENCES MOVIEDATABASE.Imdb(title)
)

和另一个表

 `cast_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`person_id` int(11) NOT NULL,
`movie_id` int(11) NOT NULL,
`person_role_id` int(11) DEFAULT NULL,
`note` text,
`nr_order` int(11) DEFAULT NULL,
`role_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `idx_pid` (`person_id`),
KEY `idx_mid` (`movie_id`),
KEY `idx_cid` (`person_role_id`),
KEY `cast_info_role_id_exists` (`role_id`)

)我想将cast_info中movie_id的数据条目复制到Crew中的MovieID,cast_info中的person_id与Crew中的ID相对应。 Crew 属于数据库“Mine”,而 role_type 表来自另一个名为“imdb”的数据库。我尝试过像这样使用 insertignoreto ,但它卡住了很长一段时间并且没有完成执行。

 insert ignore into Crew(MovieID) select C1.movie_id from imdb.cast_info as      
C1,imdb.cast_info as C2,Crew where C1.role_id!=C2.role_id AND Crew.ID=C1.person_id;

这是有关cast_type 表的一些信息。 Crew 表大部分是空的,只有 ID 列被填充,所以我不会在这里发布它

 +----+-----------+----------+----------------+------+----------+---------+
| id | person_id | movie_id | person_role_id | note | nr_order | role_id |
+----+-----------+----------+----------------+------+----------+---------+
| 1 | 1 | 1005336 | 1 | NULL | NULL | 1 |
| 2 | 2 | 2248922 | 1 | NULL | 25 | 1 |
| 3 | 2 | 2416848 | 2 | NULL | 22 | 1 |
| 4 | 3 | 1923237 | NULL | NULL | 12 | 1 |
| 5 | 4 | 1745461 | 3 | NULL | NULL | 1 |
+----+-----------+----------+----------------+------+----------+---------+

最佳答案

检查是否有效

替换为您的数据库名称

update database1.Crew cr join database2.cast_info ci on cr.id=ci.person_id set cr.MovieID = ci.movie_id

我不清楚你为什么指定role_type

关于mysql - 将一个表的属性内容复制到不同数据库中的另一个表的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19512331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com