0
之前完整性我有跟随和外形的两个表,然后按照下面的配置文件的表插入ID(外键)检查外键是插入
如何我可以插入我的表外前务必匹配表的配置文件ID的键?
var o_segui = {
seguace_id: profilo,
seguito_id: data.profilo_da_seguire,
created: new Date()
};
connection.query('INSERT INTO follow SET ?', o_segui, function(error, rows) {
if (error) {
var err = "Error on 'seguiAction': " + error;
console.error(err);
throw err;
}
现在我检查目前已与查询存在插入像以前一样:在我插入
connection.query('SELECT count(*) as n FROM profile WHERE id =' + connection.escape(profilo_da_seguire), function(error, rows) {
if (error) {
var err = "Error on 'verifico Profilo': " + error;
console.error(err);
throw err;
}
console.log(rows);
if (rows.shift().n > 0) { then OK
更新我就扔嗯...如果我评论这么想的走下来扔ERR服务器节点...我必须评论这条线并关闭连接?
是的,但如果我的外键不完整,我的服务器节点就会关闭 – Barno
请重新阅读我的答案,并尝试在InnoDB表上尝试更多外键约束。你会看到,如果你正确定义了你的表,那么“不好的数据”永远不会被插入。简单地说,数据库的*完整性*由引擎*强制执行。但是*你*必须在程序层面处理可能的失败。 –
这是工程,现在我怎么能在node.js中做到这一点:) ..我接收错误:ER_NO_REFERENCED_ROW_ – Barno