使用node.js中的CURRENT_TIMESTAMP更新MySQL表
我正在使用node-mysql
从node.js更新MySQL数据库表。 我想用CURRENT_TIMESTAMP
更新一行的时间戳列。 但是,使用以下代码,node.js似乎没有做任何更改:
Node.js代码
client.query('UPDATE listings SET job_checkout_timestamp = CURRENT_TIMESTAMP WHERE listing_id = 1515');
但是,如果我想用javascript时间函数replaceCURRENT_TIMESTAMP
,就像new Date()
client.query('UPDATE listings SET job_checkout_timestamp = ? WHERE listing_id = 1515', [ new Date() ]);
但是,如果我要执行相同的SQL查询直接进入MySQL(使用Navicat),行获取当前时间戳更新!
直接SQL查询
UPDATE listings SET job_checkout_timestamp = CURRENT_TIMESTAMP WHERE listing_id = 1515;
有什么地方出了问题?
看来,node.js可能会将inputvariables转换为string,
并将current_timestamp作为string而不是mysqlvariables,
通过将current_timestampreplace为同义词函数调用,如: –
now() current_timestamp()
应该解决这个问题