mysql - 如何将默认数据插入到依赖于另一列的列中?

标签 mysql database

如上表所示,每个问题都有自己的状态,但只有当 status_id = 3 (status=finished) 时,date_completed 才会有值,否则,date_completed 应为默认 NULL

如何做到这一点?

enter image description here

我的意思是,如果有很多行的 status_id 不为 3,那么列 date_completed 应该为 NULL。我不想一一插入'NULL',我想在status_id不为3时插入它。 但似乎我无法将 status 和 date_completed 分离到另一个表中......

最佳答案

您可以使用类似的检查约束

更改表选项卡名称 添加约束 check_date CHECK(case when (status_id != 3 AND status != finish) 然后 NULL else date_completed end = date_completed );

关于mysql - 如何将默认数据插入到依赖于另一列的列中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41085293/

相关文章:

mysql - 过滤没有特定值的行

mysql - 文本框项目是否可以等于另一个值

MySQL 子查询在 3 个表上返回超过 1 行

php - MySQL 两个左连接区分同一列

C# 循环、SQL 和检索信息

mysql - Laravel 中库存系统的数据库设计

php - 当 table1 中删除行时,在 table2 中插入行

mysql - Openshift,超出磁盘配额

sql - Postgres 使用另一行数据更新列

database - AWS Aurora for PostgreSQL 在 ca-central-1 区域不可用吗?