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

質問編集履歴

3

データベースへの登録手法を変更してみようと思い、内容を修正しました。

2020/02/19 04:49

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -26,12 +26,48 @@
26
26
  CSVファイルは、氏名部分を匿名にしていますが、内容はほぼ同一のものです。
27
27
  合わせてテーブル構造をまとめたsqlファイルも併せて添付いたしました。
28
28
 
29
+ ### 【追記】
30
+ 皆様からの回答をいろいろ試していくうちに、バルクインサートの使い方の意味を履き違えていたようで、ファイルアップロード処理などを一部省略しましたが、『LOAD DATA INFILE $filepath INTO TABLE `timeworks` FIELDS TERMINATED BY ',' IGNORE 1 LINES; 』を利用してみようと思います。
29
31
 
32
+ ```PHP
33
+ <?php
34
+
35
+ $dns = "mysql:dbname=general_works;host=localhost";
36
+ $usr = 'root';
37
+ $pas = '';
38
+ $filepath = "../files/月次台帳.csv";
39
+ $user = 'root';
40
+ $password = "";
41
+
42
+ try {
43
+ $conn = new PDO( "mysql:host=localhost;dbname=general_works", $user, $password);
44
+ $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
45
+
46
+ $e = "<p>データベースに接続しました。</p>";
47
+
48
+ }
49
+
50
+ catch(PDOException $e)
51
+ {
52
+ header('content-type: text/plain');
53
+ die("データベース接続に失敗しました。: " . $e->getMessage() . "\n");
54
+ }
55
+
56
+ $stmt = $conn->prepare( "LOAD DATA INFILE $filepath INTO TABLE `timeworks` FIELDS TERMINATED BY ',' IGNORE 1 LINES; " );
57
+
58
+ $stmt->execute();
59
+
60
+ ?>
61
+ ```
30
- こんな感じになっ
62
+ こんな感じにした
31
63
 
32
64
 
33
- 『INSERT INTO ~』使用ようと思っていましたがタイトル行を除外してCSVファイル全データを読込みたいで『Blunk Insert ~』や『LOAD DATA INFILE ~』などによる一括登録の方法はないでしょうか
65
+ 当初の予定では、最終カラム時間型に定義しているもののおかずのみの注文を集計するう、整数型に変更して使用すいま
34
66
 
35
- 無理に一括登録でなくても構わなのでアップロード済みCSVファイルの全レコードを、PHPをつってMysqlに登録するにはどうやったらよいで
67
+ これを皆様からのご指摘もあり、再利用ないことがわかり再利用あきらめて別途「おずのみ注文」のカラムを追加と思います
36
68
 
69
+ この場合、CSVファイルには存在しないカラムを、データベース登録時に最終カラムに追加しながら登録していく方法は無いものでしょうか。
70
+
71
+
72
+
37
73
  よろしくお願いいたします。

2

「確認したこと」に「INSERT INTO (...) VALUE (...)」を追記しました。

2020/02/19 04:49

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -17,6 +17,7 @@
17
17
  ### 確認したこと
18
18
  - テーブル側のカラム数:36カラム CSVファイル側のカラム数:36
19
19
  - phpMyAdminからインポートするとき、タイトル行の行数設定を”1”や”2”に設定するも、タイトル行が無視されずにインポートされる。
20
+ - CSVファイルを分解してphpMyAdmin経由で「INSERT INTO (...) VALUE (...)」で登録すると登録可能。登録したデータをもとに、集計結果をCSVデータでダウンロードできるようになっています。
20
21
 
21
22
  ### 添付ファイル
22
23
  下記の通り、資料を添付いたします。

1

添付資料をダウンローできるよう、OneDriveに設置しました。

2020/02/17 08:19

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -18,8 +18,14 @@
18
18
  - テーブル側のカラム数:36カラム CSVファイル側のカラム数:36
19
19
  - phpMyAdminからインポートするとき、タイトル行の行数設定を”1”や”2”に設定するも、タイトル行が無視されずにインポートされる。
20
20
 
21
+ ### 添付ファイル
22
+ 下記の通り、資料を添付いたします。
23
+ - [添付資料.zip](https://1drv.ms/u/s!AiTgomb2j_SlgQeYUFR6pEXHx22B?e=UfiVMj)
21
24
 
25
+ CSVファイルは、氏名部分を匿名にしていますが、内容はほぼ同一のものです。
26
+ 合わせてテーブル構造をまとめたsqlファイルも併せて添付いたしました。
22
27
 
28
+
23
29
  こんな感じになっています。
24
30
 
25
31