Node.js: DROP TABLE và IF EXISTS
Giải phóng thời gian, khai phóng năng lực
Bạn có thể xóa một bảng hiện có bằng cách sử dụng câu lệnh "DROP TABLE".
Ví dụ sau sẽ xóa bảng customers:
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "", database: "nodejs_db" }); con.connect(function(err) { if (err) throw err; var sql = "DROP TABLE customers"; con.query(sql, function (err, result) { if (err) throw err; console.log("Table deleted"); }); });
Lưu mã ở trên vào tệp có tên "demo_db_drop_table.js" và chạy tệp:
C:\Users\Your Name>node demo_db_drop_table.js
Kết quả:
Table deleted
If Exists
Nếu bảng bạn muốn xóa đã bị xóa hoặc vì một lý do nào đó bảng đó không tồn tại thì bạn có thể sử dụng từ khóa IF EXISTS để tránh gặp lỗi.
Ví dụ sau sẽ xóa bảng "customers" nếu bảng này tồn tại:
var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "", database: "nodejs_db" }); con.connect(function(err) { if (err) throw err; var sql = "DROP TABLE IF EXISTS customers"; con.query(sql, function (err, result) { if (err) throw err; console.log(result); }); });
Lưu mã ở trên vào tệp có tên "demo_db_drop_table_if.js" và chạy tệp:
C:\Users\Your Name>node demo_db_drop_table_if.js
Nếu bảng tồn tại thì đối tượng result sẽ giống như sau:
{
fieldCount: 0,
affectedRows: 0,
insertId: 0,
serverstatus: 2,
warningCount: 0,
message: '',
protocol41: true,
changedRows: 0
}
Còn nếu bảng không tồn tại thì đối tượng result sẽ giống như sau:
fieldCount: 0,
affectedRows: 0,
insertId: 0,
serverstatus: 2,
warningCount: 1,
message: '',
protocol41: true,
changedRows: 0
}
Như bạn có thể thấy sự khác biệt duy nhất là thuộc tính warningCount được đặt thành 1 nếu bảng không tồn tại.
Giải phóng thời gian, khai phóng năng lực