【问题标题】:Adding a foreign key constraint添加外键约束
【发布时间】:2017-06-10 01:27:06
【问题描述】:

在表中插入一些值后,是否可以像外键一样添加约束?

如果可能的话我该怎么做,因为我正在尝试添加它

alter table ...add constraint ..foreign key .." 

但我得到一个错误:

impossible de valider (SYS.COMPAGNIEID1) - clés parents introuvables.

【问题讨论】:

  • 请使用tour 并阅读How to Ask。对的,这是可能的。什么数据库?不要在阳光下标记一切。请用英文显示消息。不是每个人都懂法语。
  • 好的,但是我该如何添加这个约束呢
  • 听起来好像您的表中有行包含无效的外键值,即:引用表中不存在的值。
  • 不相关,但是:NOT 将表创建为SYS永远不要,永远不要那样做。只是不要。创建一个普通用户并在那里创建您的表。 停止使用SYS 帐户进行正常工作。
  • 这是我在sql中的第一个项目,老师要求创建一个sys帐户,但不会在其他项目中创建,谢谢

标签: sql oracle10g ddl


【解决方案1】:

为了定义外键,您必须在“父”表中定义主键。例如,使用标准 EMP 和 DEPT 表,您首先将列 DEPTNO 定义为 DEPT 表中的主键。然后将 EMP 表中的 DEPTNO 定义为外键,它引用 DEPT 中的 DEPTNO。如果您的表中有数据,(默认情况下)将验证数据以确保数据符合约束条件。

【讨论】:

  • 所以在表中插入一些值后定义一个新的外键是没有问题的
  • @hafssaaboulghit 尽可能不成问题。但是,如果您有不符合约束的行,则该语句将失败。
猜你喜欢
  • 2014-06-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-26
  • 2019-12-06
  • 1970-01-01
相关资源
最近更新 更多