SQLITE3错误:格式错误的数据库架构(is_transient)-在"where"附近:语法错误 [英] SQLITE3 error: malformed database schema (is_transient) - near "where": syntax error
问题描述
我正在使用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屋!