如何从Mysql中的另一个表添加一个表到一个表?

Cod*_*esl 12 mysql sql select alter sql-update

我有两张桌子

  1. 表格1
  2. 表2

Tabel1包含2列

  1. ID
  2. 名称

Tabel2包含2列

  1. ID
  2. 年龄

想要将table2中的age列添加到table1(WHERE table1.id = table2.id)

然后table1应该包含3列

  1. ID
  2. 名称
  3. 年龄

fan*_*nts 52

首先使用适当的数据类型添加列.

ALTER TABLE table1 ADD COLUMN Age TINYINT UNSIGNED NOT NULL DEFAULT 0;
Run Code Online (Sandbox Code Playgroud)

然后更新表,以便"传输"这些值.

UPDATE table1 t1
INNER JOIN tabel2 t2 ON t1.id = t2.id 
SET t1.Age = t2.Age
Run Code Online (Sandbox Code Playgroud)

  • 让您喜欢被劫持的答案所缺少的声誉:) (3认同)

Sah*_*hah 7

首先在table1中添加Age列

ALTER TABLE table1 ADD COLUMN Age TINYINT UNSIGNED DEFAULT 0;
Run Code Online (Sandbox Code Playgroud)

然后使用blow查询更新该列

UPDATE table1 t1
INNER JOIN Tabel2 t2 ON t1.id = t2.id 
SET t1.age = t2.age;
Run Code Online (Sandbox Code Playgroud)

  • 是的,请复制我的答案. (7认同)
  • @fancyPants 时间戳表明 Saharsh 首先提交了他的答案。 (3认同)
  • @MartinSchapendonk 仅供参考,当您在前 5 分钟内编辑答案时,您以后将无法查看它。继续,尝试下一个答案,前 5 分钟内不会有“已编辑的 <datetime>”链接。但当然,要保护他。很快,每个人都先写一个“asdf”答案,然后再编辑,只是为了成为第一个回答的人。 (3认同)
  • 您甚至还看过@fancyPants吗?他只添加了一个分号(您的解决方案甚至没有)。你们两个人在同一分钟内给出了相同的答案。它发生了。别往心里放。 (2认同)
  • @fancyPants 如果这是真的,那将是劫持第一个答案的非常讨厌的方式,我会收回我之前说过的所有内容。 (2认同)
  • @MartinSchapendonk我需要更新男孩.这是真的吗?! (2认同)