【问题标题】:Magento 2: How to allow updating a null value for a column having foreign key constraint?Magento 2:如何允许更新具有外键约束的列的空值?
【发布时间】:2020-05-04 15:54:53
【问题描述】:

我有两张桌子 A 和 B

一个

  • 身份证
  • 姓名

B

  • 身份证
  • 姓名
  • a_id FK 引用 A(id)

我使用 Magento 的升级脚本添加了两个表,一切都正确创建,但是当我尝试通过 Magento 代码将 a_id 设置为 null 时,它会引发 FK 异常:

Something went wrong while saving the B.SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails

但是,当我尝试直接通过 MySQL 更新列时,我没有问题:

UPDATE B SET a_id = null WHERE id = 1;

所以是 Magento 的 Magento\Framework\ForeignKey\Strategy\Restrict 不允许此操作。那么我该如何避免这个限制,因为 MySQL 没有抛出任何错误。

【问题讨论】:

    标签: mysql magento foreign-keys magento2


    【解决方案1】:

    我遇到了同样的问题。就我而言,原因是在传递给表之前,NULL 值被重新计算并变成了 Int = 0。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多