用户:
一个STUB用户_6923702查看:22 回复:7 评论:22 创建时间:2021-02-17T16:34:00
这是代码:
db.sql`
CREATE TABLE IF NOT EXISTS player (
entity NUMERIC DEFAULT NONE,
userKey TEXT PRIMARY KEY UNIQUE DEFAULT ''
)
`
async function savePlayer(entity) {//定义保存玩家状态的函数
if (entity.player.userKey) {//拥有userKey的玩家, 则玩家不是游客, 可以保存
await db.sql`
INSERT INTO player (
entity,
userKey
)
VALUES(
${entity},
${entity.player.userKey}
)
ON CONFLICT(userKey)--如果玩家记录已经存在, 则不需要插入, 而是更新各个字段的值
DO UPDATE SET
entity=excluded.entity,
`
}
}
async function loadPlayer(entity) {
const data = (await (db.sql`SELECT * FROM player WHERE userKey=${entity.player.userKey} limit 1`))[0]
if (data) { //如果存在这个玩家的存档
entity = data.entity //恢复金钱
}
}
运行创建表和加载玩家都没出现问题,在运行savePlayer时出现报错:

11行就是db.sql
556行就是调用savePlayer的地方
求救……