我有两个表,无法将这些表的值合并到table2中。
Table1:
id | studnum | fname | lname | mname
1 | 1001 | Mark | Lei | Ramos
Table2:
id | studnum | remarks
当我将值输入到表2中时,表1中的studnum是否也会输入到表2中?
我试过了,但没用。
$sql = "SELECT table1.studnum FROM table1, table2
WHERE table1.studnum = table2.studnum";
因此,表2将像这样输出
id | studnum | remarks
1 | 1001 | good
您想要的是使用JOIN语句。
如果他们之间的共享密钥是studnum,你可以做
SELECT * FROM table1
JOIN table2
ON table1.studnum = table2.studnum
尝试MySQL联接函数。示例:
SELECT *
FROM table1
JOIN table2
ON table1.studnum=table2.studnum;
更多关于加入的阅读:http://www.keithjbrown.co.uk/vworks/mysql/mysql_p5.php
如果这些正是您的表,那么您并不真正需要您所请求的内容,因为这违背了规范化。
如果表1中的条目只有一条注释或没有注释,则不需要表2,注释应在表1中。
如果表1中的一个条目需要多个注释,则表2中不需要stdnum。如果您在这个场景中的问题是构造一个查询来获得基于stdnums的remakr,那么您可以通过一个关节轻松地实现这一点。
您应该为记录/对象从一个表复制到另一个表的唯一字段是id。为了提高效率,您可以(也可能应该)节省规格化,但您的示例并非如此。