我正准备在我创建的电影数据库中填充几个表。该Movies表已经创建。它看起来像这样:
movieid INT NOT NULL PRIMARY KEY
title VARCHAR(50)
link VARCHAR(100)
release_date VARCHAR(10)
或许应该注意的是,我正在使用MySQL-python并Scrapy在MySQL数据库中填充这些数据,但也许这并不重要。
我创建了三个尚未填充的附加表Producers:Actors和Directors。这些中的每一个看起来都像另一个,因为存在id,name和movie title。所以Actors看起来像:
actorid INT NOT NULL PRIMARY KEY
actor VARCHAR(40)
title VARCHAR(50) <<<<------ This is the movie title from the Movies tables
现在,我想创建一个名为的表Movie To Actor,其中包含表中movieid的Movie表和表中actorid的表,并且Actor表中不存在该title列Actors。
我认为有两种方法可以做到这一点:
第一种方式:
将所有数据放入Actors表中,title充当 aforeign key然后创建Movie To Actor表,添加适当的idswheremovies.title等于Actors.title然后title从 中删除列Actors。
第二种方式:
在我填充数据时执行此操作。首先创建Movie to Actor表,设置键约束并将其设置为在数据添加到Actors表时自动更新。我更喜欢这个,因为它使事情变得容易得多,而且我认为在风格上更好。希望有人能指导我如何去做。我想我可以弄清楚如何将指令推断MySQL为MySQL-python,但需要有关如何执行前者的帮助。