Mysql 如何将数据从一个表插入另一个表的特定列?
所以我有两张桌子。表1有两列,col1和col2,其中col1已经填充。另一个表,表2,有很多列,但是有一列,sub,我需要它来填充表1中的第二列 当我使用Mysql 如何将数据从一个表插入另一个表的特定列?,mysql,Mysql,所以我有两张桌子。表1有两列,col1和col2,其中col1已经填充。另一个表,表2,有很多列,但是有一列,sub,我需要它来填充表1中的第二列 当我使用 INSERT INTO Table1 (col2) SELECT Table2.sub FROM Table2 是的,它会将所需列的内容复制到表1,但会为每个列创建一个新行 表1如下所示: +-----+------+ |col1 | col2 | +-----+------+ |data | NULL | +-----+------+
INSERT INTO Table1 (col2) SELECT Table2.sub FROM Table2
是的,它会将所需列的内容复制到表1,但会为每个列创建一个新行
表1如下所示:
+-----+------+
|col1 | col2 |
+-----+------+
|data | NULL |
+-----+------+
|data2| Null |
+-----+------+
执行上述插入查询后,我得到:
+-----+------+
|col1 | col2 |
+-----+------+
|data | NULL |
+-----+------+
|data2| Null |
+-----+------+
|Null | data4|
+-----+------+
|Null | data5|
+-----+------+
我需要的是:
+-----+-------+
|col1 | col2 |
+-----+-------+
|data | data4 |
+-----+-------+
|data2| data5 |
+-----+-------+
有什么想法吗?试试下面的查询
UPDATE Table1 set col2= SELECT Table2.sub FROM Table2 where Table1.col1=Table2.col1
或
我相信表2中也有col1,因为没有col1,无法比较两个表
让我知道它是否有效……表1和表2之间有关系吗?你怎么知道
data4
属于data
行,而不是data2
行?问得好。事实上,这正是我想要找到的,因为如果没有这种关系,它只会在现有数据下面创建一个新行。对不起。。。在SELECT语句中使用“()”的第二个。第一个给出了一个语法错误。再次感谢你!我整晚都在努力寻找答案。结果我不得不自己问这个问题。我非常需要这个功能,因为我需要一个小组论文,我们将允许教授自动上传成绩。
UPDATE Table1 set col2= (SELECT Table2.sub FROM Table2 where Table1.col1=Table2.col1)