【问题标题】:adding records to table without specifing the foreign key在不指定外键的情况下向表中添加记录
【发布时间】:2016-02-05 12:42:04
【问题描述】:

我的数据库中有两个表:

-etudiant(id(PK),nom,prenom,tel,adresse,filiere(FK))
-filiere(id(PK),libelle)

etudiant 表中,我有一个外键filiere,它引用了filiere 表。

有时我想在不指定外键文件的情况下将记录添加到 etudiant 表,但是当我这样做时会收到以下错误消息:

无法添加或更新子行:外键约束失败 (gecole.etudiant, 约束etudiant_ibfk_1 外键 (filiere) 参考filiere (id) 更新时删除级联 级联)

【问题讨论】:

  • 从你的问题来看,我的理解是外键有时可以为空。为此,您必须允许外键字段(etudiant 表中的filiere)为NULL,并同时使用phpmyadmin 或mysql 终端设置DEFAULT NULL。否则它将检查外键约束。

标签: mysql


【解决方案1】:

您收到此错误是因为您尝试向etudiant table 添加/更新一行,但该行没有基于filiere 中当前存储的值的etudiant_ibfk_1 字段的有效值。如果您发布更多代码,我可以帮助您诊断具体原因。

更新:

尝试禁用键或

SET FOREIGN_KEY_CHECKS=0;

确保

SET FOREIGN_KEY_CHECKS=1;

之后。

【讨论】:

  • 我知道问题出在哪里了,在这篇文章中我说我想添加一条新记录而不指定外键。
  • @YukinaSpoonatte 我想我没有仔细阅读你的问题。请检查更新的答案。我希望这是你想要的。
猜你喜欢
  • 1970-01-01
  • 2020-07-06
  • 1970-01-01
  • 2022-12-23
  • 2016-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-28
相关资源
最近更新 更多