2016-06-30 1 views
0

質問:(私はMySQLとPHPを習得しています)Macシステムで繰り返し主キーを使ってMySQLテーブルを作成したいと思います。繰り返し主キーを使ってmysqlテーブルを作成する

私は1000行以上の以下のようなCSVファイルを持っています。

; 1;ビット; 4

; 3;ビット7

B; 1;ビット; 1

B; 2;ビット; 10

B。 4;しかし、1

、私は、次のコマンドを試みた:

create table new ( 
    P VARCHAR(8) int NOT NULL AUTO_INCREMENT primary key, 
    P VARCHAR(8), 
    Pposition VARCHAR(30), 
    Ptype VARCHAR(30) 
) ENGINE=InnoDB; 

load data local infile '/Users/admin/Desktop/ab.csv' 
    INTO TABLE new 
COLUMNS TERMINATED BY';'; 

クエリOK、影響を受けた1行、1つの警告(0.03秒)

レコード:1削除された:0スキップ:0警告:1

あなたが私に解決する権利および効率的な方法を提案してくださいすることができこの問題。ありがとう!

+1

値に主キー列は互いにユニークでなければならず、繰り返すことはできません。それとも、「繰り返し主キー」の意味ではありませんか?質問はあなたが何を求めているかについて100%明確ではありません。 – ADyson

+0

このようにしてみましょう。上記のフォーマットでCSVファイルをmySQLテーブルに保存したいのですが、最初のカラムの値は一意ではなく、それをしてもいいですか ? – user3698773

+0

問題を解決しますか? 'P'の最初の列にプライマリ(一意の)キーを置いて、一意でないデータをそこに持ち込もうとする問題はありますか? – Drew

答えて

1

私は主キーの目的について混乱していると思います。この特定の問題解決するために

1)あなたの最初の列Pは、主キーとして指定することはできません。インポートしようとしている値は一意ではありません。

2)このフィールドには、varchar(8) - 最大8文字のテキストを意味し、intは整数(整数)を意味します。どちらか一方です。あなたのサンプル入力に基づいて、それはvarcharでなければなりません。

3)自動増分プロパティは意味を持ちません。これは整数の主キーフィールドを意味し、次の使用されていない整数値を自動的に選択し、新しい行が作成されます。あなたのフィールドは整数でもキーフィールドでもなくてはなりません。

4)Pという名前の2つの列がありますが、これはできません。列名は一意でなければなりません。そのうちのひとつに別の名前をつけてください。このテーブル定義を試してみてください。

create table new ( 
P VARCHAR(8) NOT NULL, 
P2 int, 
Pposition VARCHAR(30), 
Ptype VARCHAR(30) 
) ENGINE=InnoDB; 

それとも、あなたが自動的に一意の主キーを追加したいので、あなたが一意にインポートした後に行を参照することができれば、あなたは試みることができる:

create table new (
ID int not null auto_increment primary key, 
P VARCHAR(8) NOT NULL, 
P2 int, 
Pposition VARCHAR(30), 
Ptype VARCHAR(30) 
) ENGINE=InnoDB; 
+0

ありがとう、私はあなたの答えの最初のバージョンを試してみました。しかし、loadコマンドを実行しても、すべてのデータがテーブルに追加されるわけではありません。 ロードデータローカルinfile '/Users/admin/ab.csv' INTO TABLE new COLUMNS TERMINATED BY ';' TERMINATED BY '\ n'; 提案がありますか? – user3698773

+0

これは代わりに何をするのですか?エラーはありますか?テーブル内のデータ、またはまったくデータなし – ADyson

+0

これは完全なメッセージ、(MySQLのデータがロードされ得るためにCSVファイルから最初の行のみ)で終了表新しい列に 負荷データ局所INFILE「/Users/admin/ab.csv」です「;」 TERMINATED BY '\ n'; クエリOK、1行影響(0.02秒) レコード:1削除済み:0スキップ:0警告:0 – user3698773

関連する問題