Mysql多对多关系Navicat Fail Constraint

时间:2012-03-27 15:46:30

标签: mysql many-to-many relational-database foreign-key-relationship navicat

我为我的项目建立了一个新的数据模型图,我遇到了创建多对多关系的麻烦。

我已经在需要工作的部分发布了特定图表的截图。

我收到此错误:

使用当前约束无法实现基数

以下是截图: http://clip2net.com/s/1K1EH(如果图像不再可用,请告诉我)

在图片中你会注意到3个表格: produtoloja, produtopedido, pedido,

produtoloja - >保留产品信息

produtopedido - >建立produtoloja和pedido之间的关系

pedido - >保存有关产品订单的信息


表信息:


produtoloja

主键:

   - ProdutolojaId

索引:

   - (ProdutoId, LojaId) ->NON-UNIQUE
   - ProdutoLojaId -> UNIQUE


produtopedido

主键:

  - (ProdutoLojaId,PedidoId)

索引:

  - ProdutoLojaId -> NON-UNIQUE

外键:

  [Name]fk_produtopedido_pedido_1:
     - [Fields] PedidoId
     - [Reference Table] pedido
     - [Reference Fields] PedidoId

  [Name]fk_produtopedido_produtoloja_1:
     - [Fields] ProdutoLojaId
     - [Reference Table] produtoloja
     - [Reference Fields] ProdutoLojaId


pedido

主键:

  - PedidoId

索引:

  - PedidoId -> UNIQUE
  - LojaId -> NON-UNIQUE

正如您在屏幕截图中看到的那样,Navicat指责这些表之间的关系无效。所以我的问题是,我做错了什么?我的主键和索引可以吗?我该怎么做才能改善这个?

任何帮助将不胜感激!提前谢谢!

1 个答案:

答案 0 :(得分:1)

无法看到图像,但这里有一个猜测:produtoloja中的PK有一个小写的“L”,而produtopedido中的引用FK则是大写的。

enter image description here