日期:2014-05-17  浏览次数:20714 次

关于 sql 语句的一些错误

delete from [UserGroupRole] where [GroupID]=9

insert into [UserGroupRole]([GroupID],[RoleID]) 
values(select u.id as [GroupID] ,r.id as [RoleID] from [usergroup] 
as u ,[role] as r where u.id=9 and r.id in(30,31))

select * from [usergrouprole]




请问一下 ..这个 插入那块 有什么错误??
SQL

------解决方案--------------------

delete from [UserGroupRole] where [GroupID]=9

insert into [UserGroupRole]([GroupID],[RoleID]) 
select u.id as [GroupID] ,r.id as [RoleID] from [usergroup] 
as u ,[role] as r where u.id=9 and r.id in(30,31)

select * from [usergrouprole]

------解决方案--------------------
把values去掉
insert into 表 select...
------解决方案--------------------

delete from [UserGroupRole] where [GroupID]=9
 
insert into [UserGroupRole]([GroupID],[RoleID]) 
select u.id as [GroupID], r.id as [RoleID] 
 from [usergroup] as u, [role] as r 
 where u.id=9 and r.id in(30,31)

select * from [usergrouprole]