我正在尝试创建一个删除函数,仅当该行是由同一登录用户创建时才删除该行。因此,如果该行不是由该用户创建的,则无法删除该行。
这是我到目前为止所拥有的(Javascript):
app.post('/Update_Award', function(request, response) {
var connection = request.app.get('pool');
if (request.session.loggedin) {
//delete query
connection.query('SELECT username FROM accounts', [request.session.username], function (error, results, fields) {
//if (results[0].username === request.session.username) {
connection.query('DELETE FROM award WHERE id = ?', [request.body.id], function(error, results, fields) {
//do something
} else {
console.log("No access");
}
MySQL 帐户表有“id”列和“username”列。我想要的是,只有由相同登录用户 ID 创建的行才能被删除。
创建的行由颁发者ID 标识。因此,我将删除由行 ID 指定的行以及由 isserID 创建的行。
最佳答案
您可以将代码更改为
app.post('/Update_Award', function(request, response) {
var connection = request.app.get('pool');
if (request.session.loggedin) {
connection.query('DELETE FROM award WHERE id IN (SELECT id FROM accounts WHERE username = ?)', [request.session.username], function(error, results, fields) {
if (//your condition) {
//do something
} else {
console.log("No access");
}
})
}
})
关于javascript - 如何允许仅删除登录用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59169803/