Advertisement
Guest User

Untitled

a guest
Feb 15th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. var mysql = require('mysql');
  2.  
  3. var connection = mysql.createConnection({
  4. host: 'localhost',
  5. user: '',
  6. password: '',
  7. database: ''
  8. });
  9.  
  10. var datas = [
  11. {"食品番号":"02001","索引番号":162,"食品名":"<いも類>きくいも 塊茎 生   ","廃棄率(%)":20},
  12. {"食品番号":"03001","索引番号":224,"食品名":"(砂糖類) 黒砂糖   ","廃棄率(%)":0},
  13. {"食品番号":"04001","索引番号":251,"食品名":"あずき 全粒 乾   ","廃棄率(%)":0},
  14. {"食品番号":"05001","索引番号":344,"食品名":"アーモンド 乾   ","廃棄率(%)":0}
  15. ];
  16.  
  17.  
  18. var parts;
  19. var query;
  20.  
  21. var count = 0;
  22.  
  23. connection.connect();
  24.  
  25. loopInsert(datas[0]);
  26.  
  27.  
  28. function loopInsert(data){
  29. if(data === undefined){
  30. connection.end();
  31. return;
  32. };
  33. parts = createSqlParts(data);
  34. query = createSqlInsertStatement( parts );
  35. checkValidate(parts);
  36. };
  37.  
  38.  
  39. function insert(query){
  40. connection.query(query, function(err, rows, fields){
  41. if(err){throw err;};
  42. console.log(rows);
  43. });
  44. };
  45.  
  46.  
  47. function checkValidate(parts){
  48. var partsArray = parts[0].split(',');
  49. connection.query('desc nutrition;', function(err, rows, fields){
  50. if(err){throw err;};
  51. if(rows.length !== partsArray.length){
  52. console.log('フィールド数が不一致です。');
  53. return connection.end();
  54. };
  55. insert(query);
  56. count++;
  57. loopInsert(datas[count]);
  58. });
  59. };
  60.  
  61. function createSqlParts(obj){
  62. var keys = Object.keys(obj);
  63. var values;
  64. var temp;
  65. for(var i=0; i < keys.length; i++){
  66. var temp = obj[keys[i]];
  67. if(typeof temp === 'string'){ temp = '"' + temp + '"' };
  68. if(i === 0){ values = temp; }
  69. else{ values = values + ',' + temp };
  70. };
  71. for(var i=0; i < keys.length; i++){
  72. keys[i] = '`' + keys[i] + '`';
  73. };
  74. keys = keys.join(',');
  75. // console.log(keys);
  76. // console.log(values);
  77. return [keys, values];
  78. };
  79.  
  80. function createSqlInsertStatement(parts){
  81. return 'insert into nutrition (' + parts[0] + ') values (' + parts[1] + ');';
  82. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement