project 表
id, projectnamepart 表id,partno(产品编号)
BOMid, projectname(引用project表里面的),partno(引用part表里的)所有的引用都是用的是一对多的关系,如果某个partno已经存在了,好像就无法再添加
同样的partno的数据了,当然,project是不同的。请问这个是什么问题啊?1,project1,4012033-1
2,project1,4012033-2
3,project2,4012033-1----这条数据就不行了,怎么回事啊

解决方案 »

  1.   

    可能是你  project表中 不存在  project2这个数据项吧
      

  2.   

    试了下,可以的。CREATE TABLE project (id INT IDENTITY(1,1),projectname VARCHAR(10) UNIQUE )
    CREATE TABLE part(id INT IDENTITY(1,1), partno VARCHAR(10) UNIQUE)
    CREATE TABLE bom(id INT IDENTITY(1,1),
    projname VARCHAR(10) FOREIGN KEY REFERENCES project(projectname),
    partno VARCHAR(10) FOREIGN KEY REFERENCES part(partno))
    INSERT project(projectname) SELECT 'project1' UNION ALL SELECT 'project2'
    INSERT part(partno) SELECT '4012033-1' UNION ALL SELECT '4012033-2'SELECT * FROM project/***********************************
    id          projectname
    ----------- -----------
    1           project1
    2           project2
    ***********************************/
    SELECT * FROM part/***********************************
    id          partno
    ----------- ----------
    1           4012033-1
    2           4012033-2
    ***********************************/INSERT INTO bom(projname,partno)
    SELECT 'project1','4012033-1'
    UNION ALL SELECT 'project1','4012033-2'
    UNION ALL SELECT 'project2','4012033-1'SELECT * FROM bom/***********************************
    id          projname   partno
    ----------- ---------- ----------
    3           project1   4012033-1
    4           project1   4012033-2
    5           project2   4012033-1(3 行受影响)
    ***********************************/