Toidicode.com

Toidicode.com

BASIC TO ADVANCE

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

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.

Đăng ký nhận tin.

Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

Vũ Thanh Tài

About author
The best way to learn is to share
Xem tất cả bài đăng

0 Comments

Bài viết chưa có ai bình luận, hãy là người đầu tiên đi bạn!

Bình luận

Captcha