在这里,我插入用户详细信息 username、emailid 和 contactno,而 userid 是用户表的主键。
我的查询是当我插入重复的用户名或电子邮件时,如果在表中听到重复的记录,它不允许插入记录怎么可能?
应用程序.js
app.post('/saveNewUserDetails',function(req,res){
var form = new multiparty.Form();
form.parse(req, function(err, fields, files){
connection.query("INSERT INTO user (username,emailid,contactno) VALUES (?,?,?)", [fields.username,fields.emailid,fields.contactno] , function (error, results, fields) {
if (error) throw error;
res.send({
'status':'1',
'success': 'true',
'payload': results,
'message':'New user Is saved'
});
});
});
});
Run Code Online (Sandbox Code Playgroud)
用户
userid(primary key) username emailid contactno
1 user-1 user1@user1.com 1234567890
2 user-2 user2@user2.com 1234444444
Run Code Online (Sandbox Code Playgroud)
小智 6
对于每个条目,我们无法检查数据库中该记录是否存在,因为这需要一些时间。
所以我们将在您的表中将 username 和 emailid 设置为 UNIQUE 字段。因此,每当我们尝试将重复元素插入表中时,我们都会收到重复键错误。
现在,我们将利用该错误作为优势,通过简单地处理它来加快进程。
// pseudo code
// we are simply ignoring it
if( error & error != "ER_DUP_ENTRY" ){
// do normal error handling
}
Run Code Online (Sandbox Code Playgroud)
这是避免重复插入的最快解决方案