Mysql MariaDB:Can';t将数据库表相互链接

Mysql MariaDB:Can';t将数据库表相互链接,mysql,mariadb,Mysql,Mariadb,我有一个我不知道如何解决的问题,我正在开发一个类似IMDB的系统,我把一些电影和它们的演员放在不同的表格中: 电影表: 电影识别码(PK) 名称 收入 发布日期 评级 1. 复仇者 19,238,834 2010/2/20 8.8 如果电影名称是唯一的,那么我想你需要这样的东西 -- Creating your first table CREATE TABLE MOVIES(id INTEGER, name VARCHAR(50)); -- Inserting sample data to yo

我有一个我不知道如何解决的问题,我正在开发一个类似IMDB的系统,我把一些电影和它们的演员放在不同的表格中:

电影表:

电影识别码(PK) 名称 收入 发布日期 评级 1. 复仇者 19,238,834 2010/2/20 8.8
如果电影名称是唯一的,那么我想你需要这样的东西

-- Creating your first table
CREATE TABLE MOVIES(id INTEGER, name VARCHAR(50));
-- Inserting sample data to your first table
INSERT INTO MOVIES(id, name) values(1, 'Avengers');
                                             
-- Creating your many-to-many table, Add foreign key to the first table
CREATE TABLE MOVIEPERSON(movie_name VARCHAR(50), movie_id INTEGER);

-- Inserting sample data to your many-to-many table
INSERT INTO MOVIEPERSON(movie_name) values('Avengers');

-- Fill data in the many-to-many table id column based in data from first table
UPDATE MOVIEPERSON, MOVIES  
SET MOVIEPERSON.movie_id=MOVIES.id
WHERE MOVIEPERSON.movie_name = MOVIES.name 

另一种方法是使用join,并对第一个表和第二个表使用join

CREATE TABLE MOVIES(id INTEGER, name VARCHAR(50));
INSERT INTO MOVIES(id, name) values(1, 'Avengers');

CREATE TABLE PERSONS(id INTEGER, name VARCHAR(50));
INSERT INTO PERSONS(id, name) values(5, 'Tom Something');


CREATE TABLE MOVIEPERSON(movie_name VARCHAR(50), person_name VARCHAR(50), movie_id INTEGER, person_id INTEGER);


INSERT INTO MOVIEPERSON(movie_name, person_name) values('Avengers', 'Tom Something');

UPDATE 
     MOVIEPERSON mp
INNER JOIN MOVIES m ON mp.movie_name = m.name
INNER JOIN PERSONS p ON mp.person_name = p.name
SET mp.movie_id=m.id, mp.person_id=p.id;

你在哪里被卡住了?我现在有一个桥牌表,里面有电影名和演员名,我想把每个名字改成它对应的id,作为外键,因为我将在两个主表(电影表,人物表)中添加id(主键字段)*我已经用我所说的话修正了我的主要帖子,使之更有意义。你对此的确切问题是什么?请编辑您的问题以包含所有相关信息