teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

微修正

2017/05/10 12:22

投稿

miyahan
miyahan

スコア3095

answer CHANGED
@@ -1,12 +1,18 @@
1
- MySQL(おそらくMariaDBも)現行バージョンでは、generated column は AUTO_INCREMENTなカムをベスに使うこときません。
1
+ 以下のエラーが出るということで間違いないでしょうか?
2
2
 
3
+ ```
4
+ Generated column 'CODE' cannot refer to auto-increment column.
5
+ ```
6
+
7
+ MySQL(おそらくMariaDBも)現行バージョンでは、generated column は AUTO_INCREMENTなカラムを参照することはできないようです。
8
+
3
9
  [MySQL :: MySQL 5.7 Reference Manual :: 14.1.18.7 CREATE TABLE and Generated Columns](https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html)
4
10
 
5
11
  > An AUTO_INCREMENT column cannot be used as a base column in a generated column definition.
6
12
 
7
13
  参考:[MySQL Bugs: #78290: Docs: MySQL 5.7 virtual columns and relation with auto_increment columns](https://bugs.mysql.com/bug.php?id=78290)
8
14
 
9
- MySQL 5.7.8 からダメになったということで、おそらくこのへんの変更によるものだと思います。
15
+ MySQL 5.7.8 からダメになったらしく、おそらくこのへんの変更によるものだと思います。
10
16
 
11
17
  [日々の覚書: MySQL 5.7.8からInnoDBのgenerated columnは実体を取らずにインデックスを作れるようになった](https://yoku0825.blogspot.jp/2015/08/mysql-578innodbgenerated-column.html)
12
18
 

1

微修正

2017/05/10 12:22

投稿

miyahan
miyahan

スコア3095

answer CHANGED
@@ -6,8 +6,12 @@
6
6
 
7
7
  参考:[MySQL Bugs: #78290: Docs: MySQL 5.7 virtual columns and relation with auto_increment columns](https://bugs.mysql.com/bug.php?id=78290)
8
8
 
9
- おそらくこのへんの変更によるものだと思います。
9
+ MySQL 5.7.8 からダメになったということで、おそらくこのへんの変更によるものだと思います。
10
10
 
11
11
  [日々の覚書: MySQL 5.7.8からInnoDBのgenerated columnは実体を取らずにインデックスを作れるようになった](https://yoku0825.blogspot.jp/2015/08/mysql-578innodbgenerated-column.html)
12
12
 
13
- 仕様なのでどうすることもできません。
13
+ 仕様なのでどうすることもできません。
14
+
15
+ ---
16
+
17
+ ちなみに本件とは関係ありませんが、```ID` BIGINT UNSIGNED NOT NULL DEFAULT NULL AUTO_INCREMENT,`` は矛盾しています。`DEFAULT NULL` は抜きましょう。