【发布时间】:2020-12-16 23:22:56
【问题描述】:
这是我编写的两个函数的代码。
Reflect.defineProperty(hp, 'add', {
value: async function add(id, amount) {
const user = hp.get(id);
if (user) {
user.health += Number(amount);
return user.save();
}
const newUser = await Users.create({
user_id: id,
health: amount
});
hp.set(id, newUser);
return newUser;
},
});
Reflect.defineProperty(hp, 'getHealth', {
value: function getHealth(id) {
const user = hp.get(id);
return user ? user.health : 0;
},
});
当我尝试这个: hp.add(message.author.id, 100);,我得到这个错误:
errors: [
ValidationErrorItem {
message: 'user_id must be unique',
type: 'unique violation',
path: 'user_id',
value: '648183573748121610',
origin: 'DB',
instance: [users],
validatorKey: 'not_unique',
validatorName: null,
validatorArgs: []
}
],
fields: ['user_id'],
parent: [Error: SQLITE_CONSTRAINT: UNIQUE constraint failed: users.user_id] {
errno: 19,
code: 'SQLITE_CONSTRAINT',
sql: 'INSERT INTO `users` (`user_id`,`balance`) VALUES ($1,$2);'
},
original: [Error: SQLITE_CONSTRAINT: UNIQUE constraint failed: users.user_id] {
errno: 19,
code: 'SQLITE_CONSTRAINT',
sql: 'INSERT INTO `users` (`user_id`,`balance`) VALUES ($1,$2);'
},
sql: 'INSERT INTO `users` (`user_id`,`balance`) VALUES ($1,$2);'
}
谁能告诉我是什么问题?另外,能否请您告诉我解决问题的方法?更多信息:我正在使用 discord.js 创建一个不和谐机器人。我正在使用 Sequilize 和 SQLite 来存储数据。
【问题讨论】:
标签: javascript database sqlite bots discord.js