检查下数据吧,UserRights.class_id 在classes里都有对应吗

解决方案 »

  1.   

    是空表?类型一样?表Classes有主键?
      

  2.   

    UserRights表中存在classes里没有的class_id
      

  3.   

    to newdongkui(老乌鸦):
      UserRights.class_id 对 Classes.class_id ;外键对主键,没错啊!to  pengdali(大力):
      从我给的表可以看出,类型是一样的,而且如果类型不一样的话,提示也是说类型不匹配啊
      

  4.   

    ALTER TABLE 语句与 COLUMN FOREIGN KEY 约束 'FP_UserRights_class_id' 冲  
      突。该冲突发生于数据库 'tempweb',表 'Classes', column 'class_id'。到底是什么意思啊?
      

  5.   

    如果在UserRights表存在在Classes中没有的class_id 就是这个提示用
    select class_id from UserRights
    where class_id  not in (select class_id from Classes)  查出不同项你要建FOREIGN KEY 的话 先要在Classes里有这些class_id
      

  6.   

    我也是从里面直接COPY出来的啊
    如果语句有错应该看的出来的
      

  7.   

    不好意思各位,小弟犯了一个非常低级的错误。
    因为做这个数据库的时候,小弟是先统一编写建立所有表和主键的文件,然后就插入数据,
    最后才是建立外键和索引。
    然而,总管给我数据的时候,就在
    表UserRights
    ---------------------------------------------------------------------
    user_id  int 4 not null     //
    right_id  tinyint 1 not null     //联合主键;
    class_id  int 4 not null     //
    flag  bit 1 null
    ----------------------------------------------------------------------
    中INSERT INTO UserRights(user_id,right_id,class_id) VALUES (1,1,22);
    经我反复查找后发现,数据(1,1,22)中出现一点小错误,应改成(1,22,1),因为在插入数据时,Classes表只是插入一行,class_id 是IDENTITY(1,1)。所以找不到(1,1,22)中的值22与之对应。
    经过修改后,一切正常。在此,我衷心的感谢各位大虾的热心帮助,希望大家以后不要跟我一样犯如此低级的错误。
    谢谢……