Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node modules 在节点mysql2库中使用MySQL函数_Node Modules_Node Mysql_Node Mysql2 - Fatal编程技术网

Node modules 在节点mysql2库中使用MySQL函数

Node modules 在节点mysql2库中使用MySQL函数,node-modules,node-mysql,node-mysql2,Node Modules,Node Mysql,Node Mysql2,这是我当前插入数据的请求: let record = { ip : '127.0.0.1', ... }; conn.query('INSERT INTO events_log SET ?', [record]); 是否可以对IP应用INET6\u ATON函数而不将其转换为普通查询?这个对象中有几十个参数,我不想分解它 IP字段是varbinary(16)类型。是,可能: let INET6_ATON = { toSqlString: function() { return

这是我当前插入数据的请求:

let record = {
    ip : '127.0.0.1',
    ...
};
conn.query('INSERT INTO events_log SET ?', [record]);
是否可以对IP应用
INET6\u ATON
函数而不将其转换为普通查询?这个对象中有几十个参数,我不想分解它

IP字段是varbinary(16)类型。

是,可能:

let INET6_ATON = { toSqlString: function() { return 'INET6_ATON(' + mysql.escape(ip) + ')'; } };

let record = {
    ip : INET6_ATON,
    ...
};
conn.query('INSERT INTO events_log SET ?', [record]);

INET6\u ATON(?)
应该可以正常工作。您可以在占位符周围放置函数,但不要引用占位符,因为这会使占位符成为字符串。@user3783243您的意思是
let ip='INET6_-ATON(127.0.0.1)'?如果数据太长,将INET6\u ATON更改为123INET6\u ATON也不会触发错误。不,我的意思是在查询中
conn.query('INSERT-INTO-events\u-log SET INET6\u-ATON(?)
,尽管我可能误解了节点如何将标识符构建为值……这是SQL文本还是伪值?我认为
INSERT-INTO-events\u-log(ip)值(INET6\u-ATON(?)
当然可以,它可以工作,因为它是纯SQL,我有JS对象,我必须将它传递到节点mysql库