我試圖用使用MySQL的函數「NOW()」中的INSERT語句node-mysql module:使用node-mysql,我該如何逃避mysql函數?
var insert = {
username: 'foo',
date_joined: 'now()',
};
connection.query('INSERT INTO users SET ?', [insert],function(err, result){ ... });
如我所料,這給了我一個錯誤,Error: ER_TRUNCATED_WRONG_VALUE: Incorrect datetime value: 'now()' for column 'date_joined'
,因爲它躲過了now()
功能一個字符串,而不是讓MySQL解析它作爲我想要的功能。
實際上,我的插入語句和查詢要複雜得多,所以我想利用node-mysql提供的escaping query values快捷方式,而不是手動構建我的查詢。
如何告訴node-mysql不要轉義now()函數?
'date_joined'的可能值是多少?爲什麼你在這裏使用佔位符,如果它不是一個常量值,而是一個函數調用? – zerkms
date_joined是'datetime'類型。我不需要爲我猜測的函數使用佔位符,但這會使它更具可讀性。 – adamdport
更可讀(可爭論)和破壞:-D所以 - 它可以實際上是一個字符串文字在這裏或總是'now()'?如果是這樣 - 爲什麼不把它作爲一個查詢? – zerkms