我刚刚购买了Kobo电子书阅读器,这迫使我在电子书阅读器运行之前先在其网站上注册。鉴于我是一位非常隐私的原教旨主义者,因此我拒绝注册来阅读几本书,因此我开始寻找替代方法。这使我进入了该博客文章,该文章建议在电子阅读器上打开SQLite数据库,并手动插入具有以下插入内容的用户(为便于阅读而设置格式):
INSERT INTO user ( UserID ,UserKey ,UserDisplayName ,UserEmail ,___DeviceID ,HasMadePurchase ) VALUES ( ‘5b8b0d65-b50f-4460-b6df-aca5e64f4882’ ,’626d73ed-8382-4c1d-9750-cfe741c6e773’ ,’a_name’ ,’an_email_address’ ,’01:23:45:67:89:ab’ ,’TRUE’ );
所以我找到了sqlite数据库并运行了查询,但是收到以下错误消息
SQLiteManager: Likely SQL syntax error: INSERT INTO user(UserID,UserKey,UserDisplayName,UserEmail,___DeviceID,HasMadePurchase) VALUES(‘5b8b0d65-b50f-4460-b6df-aca5e64f4882’,’626d73ed-8382-4c1d-9750-cfe741c6e773’,’a_name’,’an_email_address’,’01:23:45:67:89:ab’,’TRUE’); [ unrecognized token: "4c1d" ] Exception Name: NS_ERROR_FAILURE Exception Message: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [mozIStorageConnection.createStatement]
我查看了用户表的结构(如下所示),该结构与查询略有不同。
CREATE TABLE user ( UserID TEXT NOT NULL ,UserKey TEXT NOT NULL ,UserDisplayName TEXT ,UserEmail TEXT ,___DeviceID TEXT ,FacebookAuthToken TEXT <= missing from query ,HasMadePurchase BIT DEFAULT FALSE ,IsOneStoreAccount BIT DEFAULT FALSE <= missing from query ,IsChildAccount BIT DEFAULT FALSE <= missing from query ,PRIMARY KEY (UserID) )
如您所见,数据库中有三列不在查询中。我不认为这是错误的根源。
有人知道错误的含义以及如何解决错误吗?欢迎所有提示!
将VALUES部分上的单引号更改为双引号-错误引用了字符串的中间部分。除此之外,用反引号括住列值,然后一切正常。