node.js 上的 Sqlite3 产生 SQLITE_ERROR
Posted
技术标签:
【中文标题】node.js 上的 Sqlite3 产生 SQLITE_ERROR【英文标题】:Sqlite3 on node.js makes an SQLITE_ERROR 【发布时间】:2020-05-23 03:51:45 【问题描述】:const sqlite3 = require('sqlite3').verbose()
const Discord = require('discord.js')
module.exports =
name: '가입',
aliases: ['면접', '면접보기', '회사입장', '캐스트당함'],
description: 'CEO봇의 회사에 면접을 봐요(항상 합격당하는 이상한 회사)',
run: async (client, message, args) =>
let db = new sqlite3.Database('./database.db', sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE, (err) =>
if(err)
const embed=new Discord.RichEmbed()
.setColor('blue')
.setFooter(message.author.tag, message.author.displayAvatarURL)
.setTimestamp()
.setTitle(`데이터베이스를 불러오는데 에러가 있었습니다`)
.setDescription(`에러 내용: **$err.message**`)
message.channel.send(embed)
)
db.run('CREATE TABLE USERS(id text, name text, money int, where int, sawhe int, vip int, black int, present int, nitropresent int, nwemool int, admin int', function(err)
if(err)
const embed=new Discord.RichEmbed()
.setColor('blue')
.setFooter(message.author.tag, message.author.displayAvatarURL)
.setTimestamp()
.setTitle(`데이터베이스의 테이블을 생성하는데 에러가 있었습니다`)
.setDescription(`에러 내용: **$err.message**`)
message.channel.send(embed)
)
db.close((err) =>
if(err)
const embed=new Discord.RichEmbed()
.setColor('blue')
.setFooter(message.author.tag, message.author.displayAvatarURL)
.setTimestamp()
.setTitle(`데이터베이스를 저장(종료)하는데 에러가 있었습니다`)
.setDescription(`에러 내용: **$err.message**`)
message.channel.send(embed)
)
我正在使用 node.js 制作一个 Discord Bot,并将使用 sqlite3 作为数据库。
这是我的代码(请忽略韩语)。
如果我在 Visual Studio 代码上运行代码,则会发生错误 SQLITE_ERROR: near "where": syntax error
。
请回答问题^^
【问题讨论】:
【参考方案1】:我的猜测是,由于where
是 SQL 语法中的受限词之一,因此解析器会尝试以不同方式解析查询。
将where
更改为location
应该可以解决它。
另外,您需要在插入语句的末尾关闭括号。
【讨论】:
以上是关于node.js 上的 Sqlite3 产生 SQLITE_ERROR的主要内容,如果未能解决你的问题,请参考以下文章
使用 node.js 检查数据是不是包含在 SQLite3 数据库中
如何在运行 Node.js 的 Debian 上安装 sqlite3?