基于node.js的express使用mysql语句在插入数据时防重插入
2021/10/6 19:44:15
本文主要是介绍基于node.js的express使用mysql语句在插入数据时防重插入,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
基于node.js的express使用mysql语句在插入数据时防重插入
1.在使用MySQL进行插入数据的时候,使用以下语句能够避免重复数据进行插入,即过滤相同的数据
例如:
某数据库某表的字段如下:
CREATE TABLE IF NOT EXISTS BooksInfo( BooksInfoId VARCHAR(20),/*primaryKey,需为图书id*/ title VARCHAR(50) NOT NULL,/*图书姓名*/ num INT UNSIGNED NOT NULL,/*图书总数目*/ pos VARCHAR(50) NOT NULL,/*图书位置*/ PRIMARY KEY (BooksInfoId) )
那么,进行防重插入的SQL语句如下:
INSERT INTO BooksInfo(BooksInfoId,title,num,pos) SELECT 'a115','数据结构与算法',500,'c区' FROM DUAL WHERE NOT EXISTS ( SELECT BooksInfoId,title,num,pos FROM BooksInfo WHERE BooksInfoId='a115' AND title='数据结构与算法' AND num=500 AND pos='c区' );
2.在使用基于node.js的express框架进行设计时,进行如下定义即可保证防重插入
在base.js中:
var mysql = require('mysql') class Base { constructor() { this.CONNECT; } CreateConnect() { this.CONNECT = mysql.createConnection({ host: 'localhost', port: '3306', user: 'root', password: '0610', database: 'libraryManagementSystem' }) } } module.exports = { Base }
在bookData.js中:
const Base = require('./Base') const addData = "INSERT INTO BooksInfo(BooksInfoId,title,num,pos) SELECT ?,?,?,? FROM DUAL WHERE NOT EXISTS(SELECT BooksInfoId,title,num,pos FROM BooksInfo WHERE BooksInfoId=? AND title=? AND num=? AND pos=?);" class Books extends Base.Base { constructor() { super() } //增添数据 addData(message, callback) { this.CreateConnect() let CONNECT = this.CONNECT CONNECT.connect() CONNECT.query(addData, [message.BooksInfoId, message.title, message.num, message.pos, message.BooksInfoId, message.title, message.num, message.pos], (err, result) => { if (err) { console.log('[ADD ERROR]:', err.message); callback(-1); CONNECT.end(); return; } callback(0); CONNECT.end(); }) } } module.exports = { Books }
TIPS:在const addData中,字符串类型的变量‘?'无需用引号进行包括,否则会报错。
这篇关于基于node.js的express使用mysql语句在插入数据时防重插入的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-21Vue3教程:新手入门到实践应用
- 2024-12-21VueRouter4教程:从入门到实践
- 2024-12-20Vue3项目实战:从入门到上手
- 2024-12-20Vue3项目实战:新手入门教程
- 2024-12-20VueRouter4项目实战:新手入门教程
- 2024-12-20如何实现JDBC和jsp的关系?-icode9专业技术文章分享
- 2024-12-20Vue项目中实现TagsView标签栏导航的简单教程
- 2024-12-20Vue3入门教程:从零开始搭建你的第一个Vue3项目
- 2024-12-20从零开始学习vueRouter4:基础教程
- 2024-12-20Vuex4课程:新手入门到上手实战全攻略