回答編集履歴
1
変更
test
CHANGED
@@ -1,31 +1,3 @@
|
|
1
|
-
|
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
|
-
|
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)
|