SQLite数据库表字段修改与删除

sinat_36572506 2016-11-01 13:41:25   7554   收藏
展开
我创建一张表,但是在使用过程中发现字段名称会发生改变,但是SQLite数据库只允许增加表字段(alter table my_table add field_name field_type;),不允许修改和删除表字段。这时候只能使用复制表思想了。步骤如下:

1、将需要修改的表(my_table)重新命名(ALTER TABLE "my_table" RENAME TO sqlitemanager_temp_table_11970396993;),

2、创建一个新的表命名为my_table,填入需要的字段名(CREATE TABLE "my_table" ("id" INTEGER PRIMARY KEY AUTOINCREMENT, "name" VARCHAR, "grender" VARCHAR DEFAULT "biao", "number" TEXT);)。

3、查询原来表(sqlitemanager_temp_table_11970396993)数据,向新创建的表(my_table)新增数据(INSERT INTO "my_table" ("id","name","grender","number") SELECT "id","name","grender","number" FROM sqlitemanager_temp_table_11970396993;)

4、销毁原来的表(sqlitemanager_temp_table_11970396993)

SQL语句实现如下:

PRAGMA foreign_keys = 0;

BEGIN TRANSACTION;

ALTER TABLE "my_table" RENAME TO sqlitemanager_temp_table_11970396993;

CREATE TABLE "my_table" ("id" INTEGER PRIMARY KEY AUTOINCREMENT, "name" VARCHAR, "grender" VARCHAR DEFAULT "biao", "number" TEXT DEFAULT "biao");

INSERT INTO "my_table" ("id","name","grender","number") SELECT "id","name","grender","number" FROM sqlitemanager_temp_table_11970396993;

DROP TABLE sqlitemanager_temp_table_11970396993;

COMMIT;

PRAGMA foreign_keys = 1;

修改字段名也是一样的思想.
————————————————
版权声明:本文为CSDN博主「sinat_36572506」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_36572506/article/details/52995027

SQLite数据库表字段修改与删除相关推荐

  1. 修改数据库表字段报错:1265-data truncated for column

    修改数据库表字段类型,保存报错:1265-data truncated for column 场景:表A的主键最开始是varchar类型,后来想要改成主键自增的,但是改成int类型,且设置为自增后,保 ...

  2. mysql字段命名_Mysql 01—数据库表字段的命名规则

    摘要:当前测试工作为自研数据库测试,同时需要为自动化执行处理入库数据表,为让自己看起来专业些,特查找资料学习数据库的各种规范使用. 本文是一篇包含了数据库命名.数据库表命名.数据库表字段命名及SQL语 ...

  3. 关于解决SpringDataJpa框架实体类表字段创建顺序与数据库表字段展示顺序不一致的问题

    关于解决SpringDataJpa框架实体类表字段创建顺序与数据库表字段展示顺序不一致的问题 参考文章: (1)关于解决SpringDataJpa框架实体类表字段创建顺序与数据库表字段展示顺序不一致的 ...

  4. MyBatisPLus3.x中代码生成器自定义数据库表字段类型转换

    场景 MyBatisPlus3.x中使用代码生成器(全注释): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89518466 数 ...

  5. mysql数据库表字段使用DESC等关键字报错及解决方法

    mysql数据库表字段使用DESC等关键字报错及解决方法 参考文章: (1)mysql数据库表字段使用DESC等关键字报错及解决方法 (2)https://www.cnblogs.com/li--xi ...

  6. excel表格数据库表字段带下划线转驼峰

    数据库表字段(小写字母带下划线)转驼峰字段,excel表格,可使用公式: LEFT(A2,1)&MID(SUBSTITUTE(PROPER(A2),"_","&q ...

  7. Java数据库行列级数据权限控制_关于数据库表字段的数据权限设计

    吐槽:刚在同事的帮忙下,把maven工程成功导入到eclipse,期间遇到的最大问题就是安装eclipse插件,花费了其中大部分的时间 现在做的研发产品,遇到的一个新的需求是"控制外部系统对 ...

  8. SAP动态下载数据库表字段及文本至EXCEL程序

    闲来无事,写了个小程序给业务顾问用 功能有两个: 1.输入数据库表名称,点击下载模板,将数据库表字段和文本描述用OLE输出至EXCEL: 2.输入表名,将刚刚填充完数据的EXCEL模板选择,执行后将模 ...

  9. SQL数据库插入、修改、删除及删除表中数据操作示例(insert、update)

    目录: 1.数据库的连接.创建 2.对字段的操作:(alter table) 3.SQL数据库插入.修改.删除操作 4.数据库的查询操作大全(select) 5.多表查询(join on) 6.约束操 ...

最新文章

  1. .NET读写Excel工具Spire.Xls使用(1)入门介绍
  2. jQuery的extend详解
  3. python3 random函数_Python3 中 random模块
  4. 【Python】Error:Input 'y' of 'Add' Op has type float32 that does not match type int32 of argument 'x'.
  5. JNI Java本地接口(双向接口)
  6. dalvik对于JPDA的实现
  7. SharePoint 2013 开发——其他社交功能
  8. 日常问题——初始化Hive仓库报错com.google.common.base.Preconditions.checkArgument
  9. android答辩问题,我的设计是安卓微博,答辩时老师会问些什么问题
  10. sublime 3 3083验证码
  11. linux下挂载移动硬盘(ntfs格式)
  12. 17届智能汽车竞赛无线充电组的方案研究(非正经)
  13. 谷歌浏览器字体由繁体改为简体
  14. 英语foteball足球
  15. 安卓之父带来一款超长“带鱼”手机
  16. SQLSERVER时间转换成字符串,去掉中划线
  17. MATLAB小技巧(9) 图片合成视频与视频分帧
  18. DBA系列-推荐书籍(中文版本)
  19. Mysql(三)事务原理及分析
  20. h5页面在手机浏览器上不能上下移动的问题

热门文章

  1. Python中输入和输出
  2. 百度语音助手实现多回合回话的技术分析
  3. 【矩阵论】2. 矩阵分解——正规谱分解
  4. 在js中获取vue文件的style标签下的内容
  5. 页面实现点击左右按钮图片往左右滑动的展示的效果
  6. mysql linestringfromwkb_WKTWKB 笔记一:格式介绍
  7. JMockit 使用指南
  8. Python第七章课后作业
  9. Musicplayer
  10. unity发布webgl本地搭建服务器