mysql - 关于 mysql 或其他 DBMS 中的外键约束

标签 mysql oracle database

比如这个约束:

alter table TABLE_NAME 
      add constraint FK_CONSTRAINT_ID foreign key (COLUMN_NAME)
      references PARENT_TABLE_NAME(PARENT_COLUMN_NAME) 
      on delete set null 
      on update set null;

添加操作后mysql会立即进行约束检查(即检查所有行)

或者稍后在删除或更新事件上?

其他数据库怎么样?

如果不立即,如何手动进行全表行检查?

最佳答案

外键约束是表以及表中的一个或多个列的属性。它表示这些列引用另一个表中的主键(或唯一索引)列。

因此,当创建约束时,会检查表以确保约束有效。

在这些操作期间发生的事情之后的删除更新。它不会改变约束在表上且必须有效的事实。

关于mysql - 关于 mysql 或其他 DBMS 中的外键约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22549242/

相关文章:

mysql - 使用 Sequelize 的一对多关系创建的外键比预期的多

mysql - 检索每组中的最后一条记录 - MySQL

mysql - db.QueryContext(ctx, query, args) 正在为同一个数据库变量建立新连接

oracle - 在假脱机文件中添加换行符

c# - Linq 实体分组依据(外部应用) "oracle 11.2.0.3.0 does not support apply"

php - 将表单信息发送到数据库中存储的电子邮件地址

sql-server - 在触发器中使用来自其他表的值

excel - Laravel 5.7 导入 Excel 文件 : Undefined offset

Mysql更改列明细

java - 保存 RPC 请求内容的最佳实践