回答編集履歴
3
説明が間違っていたので修正
answer
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
エラーメッセージによると、`'\xE5\xB1\xB1\xE7\x94\xB0...'` という文字列が `uname` 列には適切ではない、とあります。
|
|
2
2
|
`'\xE5\xB1\xB1\xE7\x94\xB0...'` というのはおそらくUTF-8の"山田義弘"のことでしょう。
|
|
3
3
|
(\xE5\xB1\xB1\xE7\x94\xB0 までならUTF-8で"山田"となりますので)
|
|
4
|
-
つまり、`uname` 列がUTF-8を受け入れない形式(latin1)なのにも関わらず、UTF-8の文字列を入れようとしてエラーになっています。
|
|
4
|
+
つまり、`uname` 列(というか`usr` テーブル)がUTF-8を受け入れない形式(latin1)なのにも関わらず、UTF-8の文字列を入れようとしてエラーになっています。
|
|
5
5
|
|
|
6
|
-
対処としては、`uname` 列
|
|
6
|
+
対処としては、`uname` 列のcharsetを `utf8` にする必要があります。
|
|
7
7
|
|
|
8
8
|
```sql
|
|
9
9
|
ALTER TABLE usr MODIFY uname VARCHAR(20) CHARACTER SET utf8;
|
2
指摘事項を追加
answer
CHANGED
|
@@ -7,4 +7,16 @@
|
|
|
7
7
|
|
|
8
8
|
```sql
|
|
9
9
|
ALTER TABLE usr MODIFY uname VARCHAR(20) CHARACTER SET utf8;
|
|
10
|
-
```
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
以下は回答ではなく、質問文に対することです。
|
|
15
|
+
|
|
16
|
+
> DATABASEはbasicです
|
|
17
|
+
|
|
18
|
+
これはちょっとよくわかりませんでした。
|
|
19
|
+
(basicという名前のDBMSというものは存じ上げません)
|
|
20
|
+
エラーメッセージからすると、MySQLかMariaDBあたりだと思うのですが。
|
|
21
|
+
|
|
22
|
+
データベース関連の質問をする際は、DBMSが何か(Oracle、Microsoft SQL Server、MySQL、MariaDB、PostgreSQL、IBM Db2、など)を記載していただくと、回答が付きやすくなると思います。
|
1
alter tableを追加
answer
CHANGED
|
@@ -3,4 +3,8 @@
|
|
|
3
3
|
(\xE5\xB1\xB1\xE7\x94\xB0 までならUTF-8で"山田"となりますので)
|
|
4
4
|
つまり、`uname` 列がUTF-8を受け入れない形式(latin1)なのにも関わらず、UTF-8の文字列を入れようとしてエラーになっています。
|
|
5
5
|
|
|
6
|
-
対処としては、`uname` 列(というか`usr` テーブル)のcharsetを `utf8` にする必要があります。
|
|
6
|
+
対処としては、`uname` 列(というか`usr` テーブル)のcharsetを `utf8` にする必要があります。
|
|
7
|
+
|
|
8
|
+
```sql
|
|
9
|
+
ALTER TABLE usr MODIFY uname VARCHAR(20) CHARACTER SET utf8;
|
|
10
|
+
```
|