用户:
一个STUB用户_6923702查看:178 回复: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的地方
求救……
DL1难道是隐藏字符?
点赞1
评论
搞啥?
或者你没drop table
??
你仔细说下
你的代码区最右侧有红的地方吗??
最最最右侧
我看看
没啊
控制台输入:db.sql`drop table player`
然后重新运行试试
不行……(我在编辑模式输入的)
emmm
不知道该叫啥的一只萌新兄弟 你你把entity存到数字类叫啥
点赞0
评论
?????NUMERIC : 其余类型 文档这样写的啊
难道还是BLOB?
在吗????
az 在
在标准SQL/SQL server内 是这样的: numeric(a,b) a代表整数位加小数位的总位数(不算小数点),b代表小数位的位数。
这样吧 你把链接给我 我帮你弄
https://box3.codemao.cn/e/a13d497c53efbec83654
我来啦