- 积分
- 2
- UID
- 3737
- 阅读权限
- 10
- 注册时间
- 2010-2-4
- 精华
- 在线时间
- 小时
- 最后登录
- 1970-1-1
- 职业
- 3
|
3#
![](static/image/common/ico_lz.png)
楼主 |
发表于 2010-2-4 17:49:36
|
只看该作者
本帖最后由 yangxi2004 于 2010-2-4 17:53 编辑
你误解了我的意思,可能是我没有表达清楚。
比方:需要追加一条学生信息和此学生的3条成绩信息
begin;
inser into <学生表> (...) Values (...);
insert into <成绩表> (<学生ID>, ...) values ( last_insert_id(), ...);
insert into <成绩表> (<学生ID>, ...) values ( last_insert_id(), ...);
insert into <成绩表> (<学生ID>, ...) values ( last_insert_id(), ...);
commit;
明显,以上方式是不行的。因为追加第一次成绩记录后,last_insert_id()的值已经改变。我的问题是,这时应如何编写sql语句?
假设学生可能重名,所以insert学生记录之后,再按照按照名字select出来可能会得到多个学生id。从而插入成绩表时采用select方法得到刚刚新建的学生的id并不可取。 |
|