Trang chủ » Bài 4: Lấy lastID vừa insert vào MySQL bằng Node.js

Bài 4: Lấy lastID vừa insert vào MySQL bằng Node.js

Tác giả:
Đánh giá bài đăng
0
64

Các phần trước mình đã giới thiệu với mọi người cách thực thi truy vấn SQL trên Node.js và cách phòng chống lỗi SQL injection thần thánh rồi. Phần này mình sẽ hướng dẫn mọi người cách lấy ra id của bản ghi chúng ta vừa insert vào trong MySQL.

1, Cú Pháp.

– Để lấy id của bản ghi mà chúng ta vừa insert vào trong MySQL thì chúng ta sử dụng phương thức insertID theo cú pháp sau:

conn.connect(function (err){
    if (err) throw err.stack;
    sql = conn.format(sql,prepare);
    conn.query(sql, function (err, results, fields) {
        if (err) throw err.stack;
        results.insertId;
    });
});

Trong đó:

  • sql –  là câu truy vấn insert dữ liệu của các bạn.
  • results.insertID là phương thức lấy ra id của bản ghi vừa insert.

2, Ví Dụ.

VD1: Thực hiện thêm 1 city mới vào trong bảng city và đồng thời lấy ra id của bản ghi đó.

var mysql = require('mysql');

var conn = mysql.createConnection({
    host    : 'localhost',
    user    : 'root',
    password: '',
    database: 'mysql_node',
});
//kết nối.
conn.connect(function (err){
    if (err) throw err.stack;
    var sql = "INSERT INTO city(name,zipcode) VALUES (?,?)";
    var prepare = ['Thai Binh', '85000'];
    sql = conn.format(sql,prepare);
    conn.query(sql, function (err, results, fields) {
        if (err) throw err.stack;
        console.log('Them thanh cong ban ghi co id = ' + results.insertId);
    });
});

Đoạn code trên nếu không có lỗi xảy ra sẽ trả về kết quả dạng như:

Them thanh cong ban ghi co id = 7

VD2: Thực hiện thêm một city mới và đồng thời thêm một person mới với city_id = id của city vừa mới insert.

-Relasitionship:

Mối quan hệ các bảng

Code:

var mysql = require('mysql');

var conn = mysql.createConnection({
    host    : 'localhost',
    user    : 'root',
    password: '',
    database: 'mysql_node',
});
//kết nối.
conn.connect(function (err){
    if (err) throw err.stack;
    var sql = "INSERT INTO city(name,zipcode) VALUES (?,?)";
    var prepare = ['Thai Binh', '85000'];
    sql = conn.format(sql,prepare);
    conn.query(sql, function (err, results, fields) {
        if (err) throw err.stack;
        conn.query('INSERT INTO person(name,city_id) VALUES ("Vũ Văn A",' + results.insertId + ' )');
    });
});

3, Lời kết.

– Việc lấy ra được ID của bản ghi vừa insert thực sự rất hữu dụng trong các trường hợp mà các bạn muốn thêm nhiều bản ghi phụ thuộc vào nhau.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Facebook Messenger Chat Zalo
Messenger Zalo