【问题标题】:Sqlite change data type in androidSqlite在android中更改数据类型
【发布时间】:2026-01-11 14:40:01
【问题描述】:

谁能告诉我如何从 android 更改 SQLite 中的数据类型?

例如,我想将表diarydiary_content 列的varchar(2000) 更改为TEXT。怎么可能?

【问题讨论】:

  • varchar(2000)TEXTaffinity 完全相同,所以根本不需要换表。
  • 嗨,好吧,你认为如果我超过 2000 个字符并想保存文本,它仍然可以工作吗?

标签: android sqlite alter-table


【解决方案1】:

可能会解决您的问题的技巧

你可以试试

例如:

要将 last_name 字段的数据类型更改为 VARCHAR,可以执行以下操作:

PRAGMA foreign_keys=off;

BEGIN TRANSACTION;

ALTER TABLE employees RENAME TO _employees_old;

CREATE TABLE employees
( employee_id INTEGER PRIMARY KEY AUTOINCREMENT,
  last_name VARCHAR NOT NULL,
  first_name VARCHAR,
  hire_date DATE
);

INSERT INTO employees (employee_id, last_name, first_name, hire_date)
  SELECT employee_id, last_name, first_name, hire_date
  FROM _employees_old;

COMMIT;

PRAGMA foreign_keys=on;

将现有员工表重命名为 _employees_old。然后它将创建新员工表,其中 last_name 字段定义为 VARCHAR 数据类型。然后它将_employees_old 表中的所有数据插入到employees 表中。

查看SQLite了解更多详情。

【讨论】:

  • OK thanx ...必须对此进行一些头脑风暴:) 我认为您必须提前 100% 确定要在 sqlite 中选择哪种数据类型!之后好像不太容易改了