Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Mysql中从另一个表向表中添加列?_Mysql_Sql_Select_Sql Update_Alter - Fatal编程技术网

如何在Mysql中从另一个表向表中添加列?

如何在Mysql中从另一个表向表中添加列?,mysql,sql,select,sql-update,alter,Mysql,Sql,Select,Sql Update,Alter,我有两张桌子 表1 表2 表1包含两列 身份证 名字 Tabel2包含两列 身份证 年龄 A希望将年龄列从表2添加到表1(其中table1.id=table2.id) 那么表1应该包含3列 身份证 名字 年龄 首先在表1中添加年龄列 ALTER TABLE table1 ADD COLUMN Age TINYINT UNSIGNED DEFAULT 0; 然后使用blow查询更新该列 UPDATE table1 t1 INNER JOIN Tabel2 t2 ON t1.id = t2.id

我有两张桌子

  • 表1
  • 表2
  • 表1包含两列

  • 身份证
  • 名字
  • Tabel2包含两列

  • 身份证
  • 年龄
  • A希望将年龄列从表2添加到表1(其中table1.id=table2.id)

    那么表1应该包含3列

  • 身份证
  • 名字
  • 年龄

  • 首先在表1中添加年龄列

    ALTER TABLE table1 ADD COLUMN Age TINYINT UNSIGNED DEFAULT 0;
    
    然后使用blow查询更新该列

    UPDATE table1 t1
    INNER JOIN Tabel2 t2 ON t1.id = t2.id 
    SET t1.age = t2.age;
    

    首先添加具有适当数据类型的列

    ALTER TABLE table1 ADD COLUMN Age TINYINT UNSIGNED NOT NULL DEFAULT 0;
    
    然后更新表格,以便“传输”值


    是的,当然,复制我的答案。@fancyPants时间戳表明Saharsh首先提交了他的答案。@fancyPants你看过编辑了吗?他只添加了一个分号(您的解决方案甚至没有)。你们两个在同一分钟内给出了同样的答案。这是常有的事。没有不愉快的感觉。@MartinSchapendonk供您参考,当您在前5分钟编辑答案时,您不能在以后查看它。继续,试试你的下一个答案,在前5分钟内不会有一个
    编辑的
    链接。当然,为他辩护。很快每个人都会先写一个“asdf”答案,然后再编辑,只是为了第一个回答。@fancyPants如果这是真的,这将是劫持第一个答案的一种非常恶劣的方式,我会收回我之前所说的一切。当我遇到与提问者类似的情况时,这个答案帮助我解决了问题,给了你一个类似的印象,你在劫持的答案中失去了声誉:)使用
    t1
    ,有什么好处,
    t2
    ?@Gathide Less键入:)例如,我养成了一种习惯,总是将表名添加到select子句中的列中。短别名在这里帮助很大。
    UPDATE table1 t1
    INNER JOIN tabel2 t2 ON t1.id = t2.id 
    SET t1.Age = t2.Age