【急】 插入查询异常

haitang_2011 2011-03-17 05:14:20
insert into a(user_id,p_id) select b.uid,b.pid from b b where user_id=b.uid

报错“user_id” 标识符无效
...全文
69 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
haitang_2011 2011-03-18
  • 打赏
  • 举报
回复
搞定了 这样太麻烦了 直接将查询结果转化成视图在insert 进a表
UPC子夜 2011-03-17
  • 打赏
  • 举报
回复
insert into a(user_id,p_id) select b.uid,b.pid from b b where user_id=b.uid
就算user_id是表a的 也不能这么用
insert 语句不是查询语句 不在from中 userid当然不存在

你是不是想这样啊 把b的uid在表a中存在的数据插入a中
insert into a(user_id,p_id) select b.uid,b.pid from b b where b.uid in (select user_id from a)
haitang_2011 2011-03-17
  • 打赏
  • 举报
回复
我是insert 语句 而不是子查询语句 我感觉 user_id 应该是a表的吧
girloflost 2011-03-17
  • 打赏
  • 举报
回复
很明显,表中没有user_id这个字段,你添加这个字段就行了
kingtiy 2011-03-17
  • 打赏
  • 举报
回复
select b.uid,b.pid from b b where user_id=b.uid
b表没有user_id列
gelyon 2011-03-17
  • 打赏
  • 举报
回复
原因很简单,子查询中的user_id不存在B表中!
不知道你要干什么?
  • 打赏
  • 举报
回复
[Quote=引用楼主 haitang_2011 的回复:]
insert into a(user_id,p_id) select b.uid,b.pid from b b where user_id=b.uid

报错“user_id” 标识符无效
[/Quote]
你要干嘛?
你a表的user_id 不是主键吧?

insert into a (user_id,p_id)
select b.uid,b.pid from b where exists(select 1 from a where a.user_id=b.uid)

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧