Mysql 读取一列的值并分配给另一列

Mysql 读取一列的值并分配给另一列,mysql,sql,Mysql,Sql,我的情况是这样的: 我有两张桌子 教师和缺勤每个教师都有一列unitid 我想从TEACHERS表中选择unitid,并将其插入缺勤表中 编辑: 是否可以将其添加到此查询中:(“插入缺勤(学生id,日期)值(“.”“$”获取['学生id']”.“.”,“.”.日期('Y-m-d H:i:s')。”) 试试这个 INSERT INTO ABSENCES(unitid) select unitid from TEACHERS 我试着把你的情景描述如下 创建缺勤表格 create table abs

我的情况是这样的:

我有两张桌子 教师缺勤每个教师都有一列unitid

我想从TEACHERS表中选择unitid,并将其插入缺勤表中

编辑:

是否可以将其添加到此查询中:(“插入缺勤(学生id,日期)值(“.”“$”获取['学生id']”.“.”,“.”.日期('Y-m-d H:i:s')。”)

试试这个

INSERT INTO ABSENCES(unitid) select unitid from TEACHERS

我试着把你的情景描述如下

创建
缺勤
表格

create table absence (absence_id int not null auto_increment primary key,
 `date` datetime, `subject` varchar(20),
 unit_session varchar(20), unitid int);
insert into absence(`date`, `subject`, unit_session)
values(now(),'Math','first'),(now(),'Biology','second'),(now(),'Physics','third')
将数据插入
缺勤
表格

create table absence (absence_id int not null auto_increment primary key,
 `date` datetime, `subject` varchar(20),
 unit_session varchar(20), unitid int);
insert into absence(`date`, `subject`, unit_session)
values(now(),'Math','first'),(now(),'Biology','second'),(now(),'Physics','third')
创建并将数据插入
教师表

create table teachers (username varchar(10), `password` varchar(10), unitid int);

insert into teachers values('abcdsed','fgdfgfdfgd',23),
('abcdced','fgdfgrtfgd',3),('harikas','fgdfgfdfgd',23);
此时,您可以看到,
缺勤
表中的
unitid
列没有任何值。它是
NULL

创建一个临时表,如下所示

create temporary table  temptest(id int not null auto_increment primary key,
unit_id int);
unitid
Teachers
插入临时表

insert into temptest(unit_id) select unitid from teachers 
现在,最后,通过连接下面的临时表来更新
缺勤

UPDATE absence a 
    JOIN temptest b 
  ON a.absence_id = b.id 
SET a.unitid = b.unit_id

顺便说一句,这可以添加到这个查询中:mysql_查询(“插入缺勤(学生id,日期)值(“.”“$_GET['student_id']。”,“.”。日期('Y-m-d H:i:s')。”);还是我要再问一个问题@amit@DiellAbazi您可以添加关于教师表的更多信息吗?缺勤有以下列:
缺勤\u id学生id日期科目单元\u会话单元id
教师有这些:
用户名密码单元id
先生,我认为您的解决方案也不错,但当我这样做时:
插入缺勤(单元id)从教师中选择单元id
它不会只选择一个单元id它会选择所有单元id您是否
缺勤
表格已保存数据?如果是,则您要查找的是
更新
,而不是
插入
。另外,张贴您的表格结构。根据目前的情况,您的问题并不清楚。缺勤有以下列:
缺勤\u id学生id日期科目单元\u会话unitid
老师有这些:
用户名密码unitid
我也认为我必须进行更新,因为我只需要更新unitid的值。现在我将尝试这个方法我得到了一个我无法用你的方法解决的错误这个想法仍然很好,但是没有帮助,我在我的mysql查询中尝试了它,我无法修复我得到的错误,这个想法很简单:用从老师那里获得的单位id更新缺课表中的单位id号table@DiellAbazi,忘记前面的答案,我已经完全删除了。请看完整的新答案。试图牵连你的情节。按照回答中的步骤操作,它会很好地工作。