【发布时间】:2016-05-30 22:31:27
【问题描述】:
我有 2 个表:带有字段(seller_id 名称)的卖家和带有字段(movie_id、名称、流派)的电影。它两个表具有“多对多”关系,所以我还有第三个连接表“sellers_movies”,字段为seller_id |电影 ID。它的字段在开始时具有空值。所以我的问题是:例如我们在“movies”表中添加movie_id,是否可以自动将“sellers_movies”表中的movie_id字段从null更新为我们在“movies”表中写入的内容?
【问题讨论】:
-
你不能更新不存在的行..你必须为关系插入行
-
@scaisEdge 但是 LAST_INSERT_ID() 呢?没用?
-
对我来说似乎与您的问题无关.. .. 存在的行之间存在很大差异,然后几乎有一个字段不同的形式为 null 和不存在的行。您的关系表卖方:movies 必须通过插入来填充 .. (如果单个关系发生变化,最终会更新),以便保持两个表之间的正确关系 .. last_insert_id .. 这意味着什么 .?.
-
@scaisEdge here dev.mysql.com/doc/refman/5.7/en/getting-unique-id.html 我读到“如果你想使用为一个表生成的 ID 并将其插入到第二个表中,你可以使用这样的 SQL 语句:”所以如果我明白我必须填写这个连接表,是吗??但是您说:“如果单个关系发生变化,最终会更新”,我不明白,例如 Seller_id = 1 |电影 ID = 2 ,卖家 ID = 2 | movie_id = 3 ,我在 java swing 上开发它,例如我将 movie_id 从表单文本字段更改为 20 ,数据库如何检测到我更改了 movie_id = 3?
-
您好,您的问题目前还不清楚。你说你想用插入的 ID 更新
sellers_movies表。您只能更新(注意那个词)现有的行。假设您刚刚插入了电影表(1 - Matrix),因此,由于sellers_movies表是一个关系表,多对多,我认为您的意思是在所有具有刚刚插入的 ID 的卖家之间创建一个关系,所以如果卖家有 1-Bla 和 2-Ble,你要 INSERT 1, 1 和 1, 2 不更新。我理解对了吗?如果是这样,请告诉我。我可以为你准备一个答案。
标签: mysql database swing sql-insert