【发布时间】:2021-04-02 15:45:25
【问题描述】:
这是我当前插入数据的请求:
let record = {
ip : '127.0.0.1',
...
};
conn.query('INSERT INTO events_log SET ?', [record]);
是否可以将INET6_ATON 函数应用于 IP 而无需将其转换为普通查询?这个对象有几十个参数,我不想拆开。
IP 字段为varbinary(16) 类型。
【问题讨论】:
-
INET6_ATON(?)应该可以正常工作。您可以将函数放在占位符周围,只是不要引用占位符,因为这使它成为一个字符串。 -
@user3783243 你的意思是
let ip = 'INET6_ATON(127.0.0.1)';吗? ER_DATA_TOO_LONG,将 INET6_ATON 更改为 123INET6_ATON 也不会触发错误。 -
不,我的意思是在查询中。 @ 987654326@ 虽然我可能弄错了节点如何将标识符构建为值......那是SQL文字还是伪?我认为
INSERT INTO events_log (ip) values(INET6_ATON(?))会起作用 -
当然,它会工作,因为它是纯 SQL,而且我有 JS 对象,我必须将它传递给 node-mysql 库
标签: node-modules node-mysql node-mysql2