SQLite - 关闭整个数据库

时间:2017-11-24 08:59:34

标签: sqlite

我可以关闭整个数据库的区分大小写,是指所有表的所有列吗?

如果我已经创建了数据库会发生什么?

是否必须手动为COLLATENOCASE的所有列进行操作?

我在几个查询中尝试了NOCASE,例如关注

select * from ...table  COLLATE NOCASE

但如果我或其他新人忘记使用NOCASE怎么办? 我厌倦了在创建表时创建每个列NOCASE。

1 个答案:

答案 0 :(得分:0)

您应该在桌面上设置COLLATE NOCASE。如果该表已存在,请使用ALTER TABLE。有关说明和示例,请参阅此处sqlite.org

更新 MrGumble是对的,SQLite不支持直接使用ALTER TABLE更改排序规则。您需要通过这样的中间表:

CREATE TABLE table01 (id, name countrycode, comment );
INSERT INTO table01 SELECT id, name, countrycode, comment FROM table;
DROP TABLE table;
CREATE TABLE table (
   id       integer PRIMARY KEY AUTOINCREMENT,
   name     text COLLATE NOCASE
   country  integer,
   comment  text COLLATE NOCASE
);
INSERT INTO table (id, name, countrycode, comment)
    SELECT id, name, countrycode, comment FROM table01;
DROP TABLE table01;

有一个名为SQLite Maestro的应用程序(免费试用30天)可以为您完成此过程。