1 商品表CREATE TABLE `wo_goods` (
  `ID` BIGINT(20) NOT NULL AUTO_INCREMENT,
  `goods_id` BIGINT(20) NOT NULL COMMENT '商品id',
  `goods_content` VARCHAR(100) DEFAULT NULL COMMENT '商品描述',
  `goods_price` DECIMAL(13,2) NOT NULL COMMENT '商品价格',  PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='商品表'2销售单表CREATE TABLE `sale_ticket` (  `ID` BIGINT(20) NOT NULL AUTO_INCREMENT,
  `st_id` BIGINT(20) NOT NULL COMMENT '销售单号',
  `st_salerid` BIGINT(20) NOT NULL COMMENT '销售员id号',
  PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='销售单表'
CREATE TABLE `sale_goods` (  `ID` BIGINT(20) NOT NULL AUTO_INCREMENT,
  `st_id` BIGINT(20) NOT NULL COMMENT '销售单id',
  `goods_id` BIGINT(20) NOT NULL COMMENT '商品id',
  `sg_number` BIGINT(20) NOT NULL COMMENT '商品数量',  PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='销售单商品表'  
一张销售单表,一张商品表,销售单可能会有多个商品,所以建了sale_goods表,想关联起来,是不是还要添加外建,该怎么改 啊?

解决方案 »

  1.   

    在商品表中舍 个外键
    CREATE TABLE `sale_goods` (     
    `ID` BIGINT(20) NOT NULL AUTO_INCREMENT,  
    `st_id` BIGINT(20) NOT NULL COMMENT '销售单id',  
    `goods_id` BIGINT(20) NOT NULL COMMENT '商品id',   
    `sg_number` BIGINT(20) NOT NULL COMMENT '商品数量',   
    `sale_ticket_id` BIGINT(20) constraint id_fk foreign key references sale_ticket(id),     
    PRIMARY KEY (`id`)  
     ) ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='销售单商品表'  
      

  2.   

    确实需要建外键,增加数据的有效性。
    楼上修改没有问题。也可以如下修改--添加商品外键
    alter table sale_goods add constraint fk_wo_goods_ID foreign key  references wo_goods(ID)
    --添加销售单外键
    alter table sale_goods add constraint fk_sale_ticket_ID foreign key  references sale_ticket(ID)