PhpMyAdmin- 在两个表之间共享数据
Posted
技术标签:
【中文标题】PhpMyAdmin- 在两个表之间共享数据【英文标题】:PhpMyAdmin- Sharing data between two tables 【发布时间】:2016-04-13 15:44:07 【问题描述】:我正在尝试使用来自 table2(所有者)的 id
填充 table1(视频游戏)的字段 id_owner
。
table1 的字段possessor
包含与table2 的字段Name
相同的数据。
我正在使用 phpMyAdmin。
我已经尝试过在 *** 下找到的内容:
UPDATE t
SET t.`id_owner` = o.`id`
FROM `video_games` AS t
INNER JOIN
`owner` AS o
ON t.possessor = o.Name
添加引号:
UPDATE t
SET t.`id_owner` = o.`id`
FROM `video_games` AS t
INNER JOIN
`owner` AS o
ON t.`possessor` = o.`Name`
UPDATE `video_games`
SET `id_owner` = `i`.`id`,
FROM (
SELECT `id`
FROM `owner`) `i`
WHERE
`i`.`Name` = `video_games`.`possessor`
没有别名
UPDATE
`video_games`,
`owner`
SET
`video_games`.`id_owner` = `owner`.`id`,
WHERE
`video_games`.`possessor` = `owner`.`Name`;
仍然遇到同样的 mysql 错误:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在“WHERE”附近使用的正确语法 `video_games`.`possessor` = `owner`.`Name`' 在第 7 行
【问题讨论】:
第一个语法看起来像 Microsoft SQL Server,而不是 MySQL 语法? 【参考方案1】:您没有在内部 SELECT 中选择名称。应该是这样的:
UPDATE video_games
SET id_owner = i.id
FROM (
SELECT id, Name
FROM owner) i
WHERE i.Name = video_games.possessor
【讨论】:
【参考方案2】:我尝试了您的想法,但结果是相同的错误消息。
进一步的研究将我带到https://dev.mysql.com/doc/refman/5.5/en/update.html 哪个提议很好用
UPDATE video_games,owner
SET video_game.id_owner=owner.id
WHERE video_games.id_possessor=owner.id;
【讨论】:
以上是关于PhpMyAdmin- 在两个表之间共享数据的主要内容,如果未能解决你的问题,请参考以下文章
在 Spark 中,是不是可以在两个 executor 之间共享数据?
SQL Server 中是不是有一种方法可以显示两个具有相同布局并共享一些公共数据的表之间的字段差异