日期:2014-05-18  浏览次数:20475 次

SQL2005 一表多外键的插入
user表
userid 主键 not null
username not null

schhool 表
schoolid 主键 not null
schhoolname not null

class表
calssid 主键 not null
classname not null

message表
messageid 主键
userid 外键 not null
schoolid 外键 not null
classid 外键 not null
connect not null
date not null


我想在message表中插入记录,我只知道username,schoolname,classname,不知道他们的id,我该怎么插入???

------解决方案--------------------
根据名字 从表中查询ID
然后 再向 message表中插入数据
------解决方案--------------------
try:

insert message(userid,schoolid,classid,connect,date)
select 
a.userid,b.schoolid,c.classid,
connect的值,
date的值
from [user] a
join [schhool] b on b.[schhoolname]=schhoolname的值
join [class] c on c.[classname]=classname的值
where a.[username]=username的值