2017-03-10 6 views
0

たとえば、ファイル名がA、B、C、Dの場合、データベースに1つのフィールドに挿入したいただ、単一の値のようなものを&のインサートを連結テーブルにこのよう配列などを使用してmysqlの単一のフィールドに複数のデータを挿入する方法

ID | filename | PATH | DATE   | 
1 | A, B, C, D| DOCX | Mar. 10, 2017| 
+1

これはRDBMSを使用する方法ではありません。このパスをとっていて今では戸惑っている人々からの何千もの質問がここにあります 列にCSVを保存しないでくださいhttp://stackoverflow.com/questions/41304945/best-type-of-indexing-when-there-is -like-clause/41305027#41305027 http://stackoverflow.com/questions/41215624/sql-table-with-list-entry-vs-sql-table-with-a-row-for-each-entry/41215681# 41215681 – e4c5

+1

**決して行ってはいけません。**正規化を参照してください。 – GurV

+0

mysqlの 'serialize'を見れば、1つのカラムにデータを保持するのに役立ちます。 –

答えて

0

を見て。あなたがいること、しかし、あなたはそれを行う上で主張すればその正規&に対しては処理するためにシステムが難しく、しかし、すべての後になりませんしたい場合は、あなたにそのアップ:コンマを置いてはいけません

INSERT INTO tblName (`ID`, `filename`, `PATH`, `DATE`) VALUES (1, "A" . ", " . "B" . ", " . "C" . ", " . "D", "DOCX", "Mar. 10, 2017") 
1

は、単一の列でA, B, C, Dなどのデータを分離しました。代わりにNormalizationを使用してください。

正規化は、データの冗長性と依存性を減らす方法でテーブルを編成するデータベース設計手法です。 より大きなテーブルをより小さなテーブルに分割し、それらをリレーションシップを使用してリンクします。 \

id -> file_id basic 

tbl_filenamesのような別のテーブルを作成し、その中にファイル名の複数のエントリを入れて、あなたのベーステーブルとそれをバインドすると、ベーステーブルの各エントリに複数のファイルエントリはそのあることを意味し、あなたの場合は

tbl_filenamesで接続してください。id->file_id

関連する問題