【发布时间】:2017-12-20 09:50:56
【问题描述】:
我正在尝试使用 nodejs 在 mysql 表中插入一行。我正在尝试通过在 nodejs 中将其值作为 now() 发送来更新列 creation_date(timestamp),但它给出了一个错误,指出“现在”未定义。当我直接在 mysql 中执行相同的 sql 查询时,它正在工作。我不知道问题出在哪里。有人可以在这里帮助我吗... 这是我在 mysql 的表中插入值的 nodejs 代码..
var sql = `INSERT INTO sales
(
user_id, name, tagline, start_date,
start_time, end_date, reg_start,
reg_end, descr, creation_date
) VALUES (
?, ?, ?, ?,
?, ?, ?,
?, ?, ?
)`
pool.query(sql, [
id, req.body.sale_name, req.body.tag, req.body.start,
req.body.stime, req.body.end, req.body.reg_start,
req.body.start, req.body.descr, now()
], function (err, result) { //further code})
我得到的错误是:ReferenceError: now is not defined
【问题讨论】:
-
几个问题 :: 您的客户端和数据库服务器是否在同一时区运行?如果不是你想在数据库中存储哪个日期时间?如果要存储数据库时间,可以在查询中忽略此字段,使用 NOW() 作为 sql 中的默认值。
-
你必须使用 'NOW()' 。我猜这是一个愚蠢的错误。
-
是的,它在同一时区工作
-
您使用的是节点 js,因此使用 new Date() 代替 now().now() 在您使用 mysql 插入数据时有效
-
以上你试过了吗?
标签: javascript mysql node.js