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

回答編集履歴

1

issues テーブルの description カラムのデータ型変更の検証を追記

2017/04/07 12:51

投稿

bezeklik
bezeklik

スコア580

answer CHANGED
@@ -17,4 +17,19 @@
17
17
 
18
18
  UTF-8 で全角1文字あたり3バイト、改行がCR+LFで2バイトとすると、以下の通りとなり、431行+8文字でちょうど text 型の最大長 65535 バイトを超えているようですね。
19
19
  (50×3+2)×431+(7*3)=65533
20
- (50×3+2)×431+(8*3)=65536
20
+ (50×3+2)×431+(8*3)=65536
21
+
22
+ (追記)
23
+ ちなみに、以下のように issues テーブルの description カラムのデータ型を text 型から longtext 型に変更して、65535 バイトを超える全角 21846 文字(=65538 バイト)を登録したところ、とりあえずはうまく登録されました。
24
+ ```sql
25
+ MariaDB [redmine]> ALTER TABLE `issues` MODIFY `description` LONGTEXT;
26
+ Query OK, 1 row affected (0.01 sec)
27
+ Records: 1 Duplicates: 0 Warnings: 0
28
+
29
+ MariaDB [redmine]> SELECT TABLE_NAME,COLUMN_NAME,COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'issues' AND COLUMN_NAME = 'description';
30
+ +------------+-------------+-------------+
31
+ | TABLE_NAME | COLUMN_NAME | COLUMN_TYPE |
32
+ +------------+-------------+-------------+
33
+ | issues | description | longtext |
34
+ +------------+-------------+-------------+
35
+ ```