android - android中的Sqlite更改数据类型

标签 android sqlite alter-table

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

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

最佳答案

可以解决您问题的技巧,

您可以尝试类似

例如:

要将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。然后,它将使用定义为VARCHAR数据类型的last_name字段创建新的employee表。然后,它将_employees_old表中的所有数据插入employees表中。

检查SQLite了解更多详细信息。

关于android - android中的Sqlite更改数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35617979/

相关文章:

mysql - 将 mysql 转储 sql 文件转换为可以导入 sqlite3 db 的格式的脚本

sql - 如何使用计数和分组依据作为另一个表的条件

SQL Server - 在 ALTER TABLE 中将 VarChar 转换为日期

java - 来自 2 个与用户位置配合使用的 AsyncTask,只有一个适用于 Java 和 Android

android - 当用户通过 android 中的任务滑动删除应用程序时执行注销

java - 对于用户数据库的“Use In Activity_main”类型,未定义 getactivity() 方法

python - django app一直迁移不生效[heroku]

sql - ALTER TABLE 时出错 - 消息 102,级别 15,状态 1

sql - 使用给定模式在 Postgres 中生成列

android - 我无法使用 adb 屏幕录制工具捕获 android 屏幕