您好我想使用jdbc对我的数据库进行更新。
在我的数据库中,学生可以获得多个课程,并且可以从多个学生那里获得课程。
当我尝试更改有多节课的学生课程记录时。
它使所有课程的价值相同。
我只想编辑特定的课程。
与此同时,我正在更新他们的名字,不,上课和上课。
例如:
杰克---英语
杰克---积分
杰克---爪哇
我只想将Java更改为History,但结果是:
杰克---历史
杰克---历史
杰克---历史
我有3张桌子。
-Lesson -
Lid(PK),Number,Code,Lesson_name
- 学生 -
Sid(PK),Cid(FK),姓名,否
-Student_lesson -
Sid(FK),Lid(FK)
我的代码
result = st.executeQuery("select lid from lesson where lesson_name='"+lesson_name+"'");
if(result.next()){
int lidnum = result.getInt(1);
st.executeUpdate("update student_lesson set lid = '"+lidnum+"' where sid = (select sid from student where no = '"+no+"')");
}
答案 0 :(得分:0)
我只想将Java更改为History
为此,您应该获得Java和历史记录lid
。
然后按如下方式修改上一个查询:
update student_lesson set lid = lid_history where sid = (select sid from student where no = no) and lid = lid_java
答案 1 :(得分:0)
您还需要提供课程ID:
st.executeUpdate("update student_lesson set lid = '"+lidnum+"'
where sid = (select sid from student where no = '"+no+"')
and lid = whatever_the_lid_of_Java_is");