A用户下有SM_USER表,有多个字段。A用户下所有的表为空
且SM_USER表结构比B用户下的SM_USER表结构多几个字段。多出的几个字段可以为空。我现在需要把B用户下的SM_USER表的数据导到A用户下。
写语句实现:
insert into a.sm_user(sm_user_id,....sm_group_id...) as select (sm_user_id,....sm_group_id...) from b.sm_user;
可是sm_group_id是sm_group表的外键约束,且A用户下sm_group 表没有数据。所以导入出错,请问是不是必须先把sm_group表的数据导过来才可以导这个表的数据?
我现在不想导sm_group表,怎么导?

解决方案 »

  1. 1、去掉外键约束
    2、先导sm_group表数据
      

  2. 做了外键约束,那当然要先导sm_group 表的数据,如果把外键先去掉,导也可以;
    建议外键不要做太多了,不然也会影响速度的
      

  3. insert into a.sm_user(sm_user_id,....sm_group_id...)  select (sm_user_id,....sm_group_id...) from b.sm_user; 
      

  4. 我现在导了sm_group表,但是还是出错了。我查看了下发现sm_user表里的sm_group_id字段有一个值在sm_group里的sm_group_id没有。估计是被删掉了。
    想问下既然是关联怎么被删除的。
    还有那个plsql查看键那列的
    第一列是名称,第二列是类型,第三列是列,第四列允许哪里的打了勾跟没打什么区别
      

类似问题 »