SQLITE3错误:格式错误的数据库架构(is_transient)-在"where"附近:语法错误 [英] SQLITE3 error: malformed database schema (is_transient) - near "where": syntax error

查看:215
本文介绍了SQLITE3错误:格式错误的数据库架构(is_transient)-在"where"附近:语法错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用OS X 10.9.5和Google crome:版本44.0.2403.107(64位)

I m using OS X 10.9.5 and Google crome: Version 44.0.2403.107 (64-bit)

Google Crome在以下位置存储cookie: /Users/(logged User)/Library/Application Support/Google/Chrome/Default/Cookies 我通过应用程序"SQLite Free-Datum"打开了该文件;如图所示,它显示列名称为"cookies".

Google Crome store cookies at path: /Users/(logged User)/Library/Application Support/Google/Chrome/Default/Cookies I opened this file through app "SQLite Free - Datum"; it show that column name is "cookies" as shown in image.

我通过OSX 10.9.5的终端打开了相同的文件.我在执行命令"SELECT * FROM Cookies"时收到格式错误的数据库架构(is_transient)-在"where"附近:语法错误",如下面的pin所示.

I opened same file through Terminal of OSX 10.9.5. I am getting "malformed database schema (is_transient) - near "where": syntax error" while executing command "SELECT * FROM cookies" as shown in pin below.

推荐答案

OS X 10.9.5(Mavericks)默认安装了SQLite 3.7.13. Chrome Cookie的数据库架构最近已更改为使用部分索引,SQLite 3.8.0和更高版本支持该索引( https://www.sqlite.org/partialindex.html ).默认情况下,OS X 10.10(Yosemite)随SQLite 3.8.5一起安装,因此您可以在优胜美地中通过终端访问数据库.

OS X 10.9.5 (Mavericks) comes with SQLite 3.7.13 installed by default. The database schema for Chrome cookies has recently been changed to utilize partial indexes, which are supported on SQLite 3.8.0 and higher (https://www.sqlite.org/partialindex.html). OS X 10.10 (Yosemite) ships with SQLite 3.8.5 installed by default, so you can access the database through the Terminal just fine in Yosemite.

Chrome团队似乎意识到SQLite的早期版本不支持部分索引,如以下错误报告所示:https://groups.google.com/a/chromium.org/forum/#!topic/chromium-reviews/5OPhshJdrTM .

It looks like the Chrome team is aware that partial indexes are not supported on earlier versions of SQLite, as shown in this bug report: https://groups.google.com/a/chromium.org/forum/#!topic/chromium-reviews/5OPhshJdrTM.

之所以能够在"SQLite Free-Datum"中打开数据库,原因很可能是应用作者随数据库一起提供了较新版本的SQLite.

The reason that you were able to open the database in "SQLite Free - Datum" is most likely that the app author shipped it with a newer version of SQLite.

这篇关于SQLITE3错误:格式错误的数据库架构(is_transient)-在"where"附近:语法错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆