0

長文になりますので、ご容赦ください。課題の一環として、MYSQL 5.6.10 を使用して TAC (ハンドセット) データベースを構築しています。次の SQL コマンドを使用して、TACTest というテーブルを作成しました。

CREATE TABLE TACTest (TAC VARCHAR(8), Make VARCHAR(384), Manufacturer VARCHAR(128), Band VARCHAR(384);

C: ドライブに保存されている test.txt というファイルを使用して、このテーブルにデータを入力しています。そのファイルの内容は次のとおりです (6 つの異なるハンドセット)。

TAC|Marketing Name|Manufacturer|Band
00100100|G410|Mitsubishi|GSM 1800,GSM 900
00440227|This is a Test IMEI|(AEB) Armando Este Banquito|GSM 1800,GSM 900
01283200|Bunting Camera – WX292|Jaguariuna - Brazil|GSM 1900,GSM850 (GSM800)
01237100|WX295 – EU (850/1900)|Motorola|GSM 1900,GSM850 (GSM800)
35599803|Nüvifone A50|ASUSTek Computer Inc|GSM 1800,GSM 1900,GSM 900,GSM850 (GSM800)
01273300|"T410/T410i, T410s/T410si,T510/W510/T510i, X201/X201s, X201i/X201si, X201 Tablet, X201i Tablet, X100e, Edge 13"",  Edge 14"", Edge 15"" , L512, L412 , Edge 13”, Edge 11”, X120e"|Lenovo Mobile Communication Technology Ltd|GSM 1800,GSM 1900,GSM 900,GSM850 (GSM800)

これは、テーブルにデータを入力するために使用する SQL です。

LOAD DATA LOCAL INFILE 'C:\\test.txt' INTO TABLE TACTest CHARACTER SET utf8 fields terminated by '|' lines terminated by '\n' IGNORE 1 LINES (TAC, Make, Manufacturer, Band);

問題は、挿入後に Make 列と Manufacturer 列のデータがデータベースに欠落していることです。メーカーと製造元の列のデータベース内の情報は次のとおりです。

Make    Manufacturer
G410    Mitsubishi
This is a Test IMEI (AEB)
Bunting Camera  Jaguariuna - Brazil
WX295   Motorola
N   ASUSTek Computer Inc
"T410/T410i, T410s/T410si,T510/W510/T510i, X201/X201s, X201i/X201si, X201 Tablet, X201i Tablet, X100e, Edge 13"",  Edge 14"", Edge 15"" , L512, L412 , Edge 13  Lenovo Mobile Communication Technology Ltd

基本的に、メーカーの列の行 2 には部分的な情報があり、メーカーの列の行 3 ~ 6 には部分的な情報がありますか?

ここで何が間違っていますか?特殊文字を挿入するために何か特別な必要がありますか? どんな助けでも大歓迎です。

4

1 に答える 1

0

いただいたクエリを実行したところ、適切なデータが得られました。唯一の違いは、私が信じているOSにあります(私のマシンはubuntuで実行されています)

mysql> show create table TACTest \G
*************************** 1. row ***************************
       Table: TACTest
Create Table: CREATE TABLE `TACTest` (
  `TAC` varchar(8) DEFAULT NULL,
  `Make` varchar(384) DEFAULT NULL,
  `Manufacturer` varchar(128) DEFAULT NULL,
  `Band` varchar(384) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
1 row in set (0.00 sec)



mysql> select * from TACTest \G
*************************** 1. row ***************************
         TAC: 00100100
        Make: G410
Manufacturer: Mitsubishi
        Band: GSM 1800,GSM 900
*************************** 2. row ***************************
         TAC: 00440227
        Make: This is a Test IMEI
Manufacturer: (AEB) Armando Este Banquito
        Band: GSM 1800,GSM 900
*************************** 3. row ***************************
         TAC: 01283200
        Make: Bunting Camera � WX292
Manufacturer: Jaguariuna - Brazil
        Band: GSM 1900,GSM850 (GSM800)
*************************** 4. row ***************************
         TAC: 01237100
        Make: WX295 � EU (850/1900)
Manufacturer: Motorola
        Band: GSM 1900,GSM850 (GSM800)
*************************** 5. row ***************************
         TAC: 35599803
        Make: N�vifone A50
Manufacturer: ASUSTek Computer Inc
        Band: GSM 1800,GSM 1900,GSM 900,GSM850 (GSM800)
*************************** 6. row ***************************
         TAC: 01273300
        Make: "T410/T410i, T410s/T410si,T510/W510/T510i, X201/X201s, X201i/X201si, X201 Tablet, X201i Tablet, X100e, Edge 13"",  Edge 14"", Edge 15"" , L512, L412 , Edge 13�, Edge 11�, X120e"
Manufacturer: Lenovo Mobile Communication Technology Ltd
        Band: GSM 1800,GSM 1900,GSM 900,GSM850 (GSM800)
6 rows in set (0.00 sec)
于 2013-03-26T17:28:35.160 に答える