我正在尝试使用nodejs将一些数据插入到mysql表中。这些数据是动态的,因此在插入之前我如何检查字段类型,我在尝试插入日期时遇到问题'到日期字段类型。
for(var i = 0; i < insertdata.length; i++){
var post=[];
post = insertdata[i];
var querydd = connection.query('INSERT INTO '+ req.body.table_name + ' SET ?', post, function(err, result) {
});
}
试图插入的数据如下
{ category: 'sd',
book_id: '56353',
author_book: 'Sir Alex Ferguson',
book_title: 'Leading',
price: '11',
publication: 'abc',
publication_date: '12-10-2015' }
{ category: 'df',
book_id: '73638',
author_book: 'Eric Smith',
book_title: 'How Google Works',
price: '110',
publication: 'abcdd',
publication_date: '17-10-2016' }
{ category: 'ffs',
book_id: '37364',
author_book: 'William Shakespeare',
book_title: 'The Merchant of Venice',
price: '200',
publication: 'sgre',
publication_date: '2017-10-2016' }
答案 0 :(得分:0)
12-10-2015
是string
。在插入之前,请尝试将其Date
转换为new Date(yyyy-mm-dd)
。for (var i = 0; i < insertdata.length; i++)
是插入多行的错误代码。你不能控制执行流程,例如如果某些查询失败怎么办?阅读async
或promises
。('INSERT INTO '+ req.body.table_name + ' SET ?', post
是一个危险的代码(请参阅SQL注入)。您必须小心输入数据。更好的方法是使用占位符,如insert into mytable set field = ?, field2 = ?, data, ...