猫史档案馆


找人修SQL!

用户:老李头13zl老李头13zl查看:3 回复:4 评论:3 创建时间:2023-01-05T13:41:23


/*--------------------------------------SQL代码------------------------------------------------------------------------*/
;(async () => {
    await db.sql`
        create table if not exists
            level int not null,
            exp int not null,
            item text not null,
            coin int not null,
            work text not null,
            deyufen int not null,
            xuefen int not null,
            gongji int not null,
            fangyu int not null,
            jn text not null,
            userKey char(16) primary key unique not null
        )
    `
})()
async function savePlayer(entity) {
    await db.sql`
        insert into player (
            level,
            exp,
            item,
            coin,
            work,
            deyufen,
            xuefen,
            gongji,
            fangyu,
            jn,
            userKey
        ) values (
            ${entity.level},
            ${entity.exp},
            ${JSON.stringify(entity.item)},
            ${entity.coin},
            ${entity.work}
            ${entity.deyufen}
            ${entity.xuefen}
            ${entity.gongji}
            ${entity.fangyu}
            ${entity.jn}
            ${entity.player.userKey}
        )
        on conflict(userKey)
        do update set 
        level = excluded.level,
        exp = excluded.exp,
        item = excluded.item,
        coin = excluded.coin,
        work = excluded.work,
        deyufen = excluded.deyufen,
        xuefen = excluded.xuefen,
        gongji = excluded.gongji,
        fangyu = excluded.fangyu
        jn = excluded.jn
    `
}
async function loadPlayer(entity) {
    const [data] = await db.sql`select * from player where userKey = ${entity.player.userKey} limit 1`;
    if (data){
        entity.level = data.level;
        entity.exp = data.exp;
        entity.item = JSON.parse(data.item);
        entity.coin = data.coin;
        entity.work = data.work;
        entity.deyufen = data.deyufen;
        entity.xuefen = data.xuefen;
        entity.gongji = data.gongji;
        entity.fangyu = data.fangyu;
        entity.jn = data.jn
    } else {
        entity.level = 1;
        entity.exp = 0;
        entity.item = [];
        entity.coin = 0;
        entity.work = '学生'
        entity.deyufen = 0
        entity.xuefen = 0
        entity.gongji = 1
        entity.fangyu = 1
        entity.jn = '普通攻击'
        await savePlayer(entity)
    }
};

world.onPlayerJoin(async ({ entity }) => {
    await loadPlayer(entity)
})
world.onPlayerLeave(async ({ entity }) => {
    await savePlayer(entity);
})

他报错说

near "int":syntax error

还有

no such table:player


回复

上一页1 页 / 共 1下一页
伴雪纷飞伴雪纷飞

        fangyu = excluded.fangyu

这一行没加逗号

点赞1


评论


外向的雷电猴-LHA外向的雷电猴-LHA

world.onPlayerJoin(async ({ entity }) => {
    await loadPlayer(entity)
})

没加分号哦

 

点赞0


评论


外向的雷电猴-LHA外向的雷电猴-LHA

            ${entity.level},
            ${entity.exp},
            ${JSON.stringify(entity.item)},
            ${entity.coin},
            ${entity.work}
            ${entity.deyufen}
            ${entity.xuefen}
            ${entity.gongji}
            ${entity.fangyu}
            ${entity.jn}
            ${entity.player.userKey}

一会有逗号,一会没有,你觉得对吗 ?(不带讽刺的反问)

点赞1


评论


伴雪纷飞伴雪纷飞

CREATE TABLE IF NOT EXISTS player

还有是这样创建表的

点赞1


评论