我目前对以下内容感到困惑:
var post = {ip: host, status: info};
var sql = con.query('INSERT OR IGNORE INTO ipaddress SET ?', post,
function(err, result){});
我已经将IP地址设置为主键。
答案 0 :(得分:1)
既然您使用的是node.js,那么如何使用Sequelize?
Sequelize是用于Node.js v4及更高版本的基于承诺的ORM。它支持方言PostgreSQL,MySQL,SQLite和MSSQL,并具有可靠的事务支持,关系,读取复制等功能。
您不太了解SQL并不重要,因为您可以使用其内置函数。例如,如果您要执行upsert
:
ipaddress.upsert({
ip: host,
status: info,
});
如果您仍然想使用MySQL,请使用ON DUPLICATE KEY UPDATE
进行upsert。
var sql = `INSERT INTO post (ip, status) VALUES (${host}, ${info}) ON DUPLICATE KEY UPDATE ip=${host}, status=${info}`;
但是您需要注意一些潜在的问题,例如SQL注入。