回答編集履歴

1

変更

2019/10/31 09:19

投稿

Zuishin
Zuishin

スコア28660

test CHANGED
@@ -1,31 +1,3 @@
1
- generated column を使うはどうしょうか?
1
+ 質問が全く別ものに変わったの、回答も全く別のものに変えます。
2
2
 
3
- 制約を付けるのではなく、get_result_at が NULL でない時に自動的に true になる列を作るということです。
4
-
5
-
6
-
7
- [Mablomy: CHECK constraint for MySQL - NOT NULL on generated columns](http://mablomy.blogspot.com/2016/04/check-constraint-for-mysql-not-null-on.html)
8
-
9
-
10
-
11
- ```
12
-
13
- create table table1 (
14
-
15
- get_result_at datetime,
16
-
17
- result boolean
18
-
19
- as (if(get_result_at is null, false, true))
20
-
21
- virtual not null)
22
-
23
- ```
24
-
25
-
26
-
27
- 参考:
28
-
29
- [MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.4 制御フロー関数](https://dev.mysql.com/doc/refman/5.6/ja/control-flow-functions.html)
3
+ result null の時、get_result_at は意味を成さないのでどんな値であっても問題ありません。したがって、get_result_at を not null 属性で作り、適当な値(datetime のデフォルト値など)を入れてください。
30
-
31
- [MySQL :: MySQL 5.7 Reference Manual :: 13.1.18.8 CREATE TABLE and Generated Columns](https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html)