public void addObjectFields(Company c)throws SQLException{
Connection conn=DBUtil.getConnection();
String sql=" insert into cdpt_object_fields"+
"( object_id,object_name,object_type,field_id,field_auto_id,field_name,field_type,field_level)"+
" values("+ "select company_id from cdpt_company_info where company_name=c.getCompany_name(),?,?,?,?,?,?,?)";
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1, c.getCompany_name());
ps.setInt(2, 0);
ps.setString(3, c.getIndustry_id());
ps.setInt(4, c.getField_autoid());
ps.setString(5, c.getIndustry_name());
ps.setInt(6, 0);
ps.setString(7, "0");
ps.execute();
}
object_id是从cdpt_company_info表查询得到的,把他插入到cdpt_object_fields表,两个表的company_name一样
insert into cdpt_object_fields
select company_id from cdpt_company_info where company_name=c.getCompany_name()
sql可以直接插入一个查询结果集
不用你一个一个设值的
字段数量和字段类型一致就行
INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 旧表 where 条件
insert into table1 select * from table2 where ...
insert into table1 select * from table2 where ...