1 つのクエリを使用して、複数行のデータを 1 つの列に挿入したいと考えています。このプログラムは少ないデータ用です。4000 行のデータを含む別の気象監視 .txt ファイルがあります。一度に 1 つのデータを挿入することはできますが、データ値が非常に多い場合は面倒です。
1. use DBI;
2. use DBD::mysql;
3. use warnings;
4. $connection = ConnectToMySql($database);
5. # Multiple Data inputs
6. $myquery = "INSERT INTO data(datatime,battery)
7. VALUES
8. (?,?),
9. ('16.01.2013','6.54'), #data corresponding to date and battery
10. ('17.01.2013','6.42'),
11. ('21.01.2013','6.24'),
12. ('22.01.2013','6.21'),
13. ('24.01.2013','6.17'),
14. ('25.01.2013','6.13'),
15. ('28.01.2013','6.00'),
16. ('29.01.2013','5.97'),
17. ('30.01.2013','5.94'),
18. ('01.02.2013','5.84')";
19. $statement2 = $connection->prepare($myquery);
20. $statement2->execute($myquery);
21. #--- start sub-routine
22. sub ConnectToMySql {
23. $database ="xxxx";
24. $user = "XXXX";
25. $pass = "XXXX";
26. $host="XXXX";
27. my $dbh = DBI->connect("DBI:mysql:$database:$host", $user, $pass);
28. }
このコードは私に次のエラーを与えています:
DBD::mysql::st の実行に失敗しました: SQL 構文にエラーがあります。C:/Users/User/workspace/DataBaseEntry/DataEntry.pl 行 20 の行 2 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。DBD
::mysql::st の実行に失敗しました: C:/Users/User/workspace/DataBaseEntry/DataEntry.pl 行 40 で 2 つが必要なときに、1 つのバインド変数で呼び出されます。
問題を特定できません。プレースホルダですか。改善するにはどうすればよいですか?私はこれらのことに慣れていません。シンプルに保つことができます。ありがとう