SQLite如何修改字段类型

 更新时间:2024年07月21日 09:04:48   作者:秋·风  
这篇文章主要介绍了SQLite修改字段类型的方法,SQLite不支持直接修改字段类型,如需要修改字段类型,本文给大家分享相关方法处理,需要的朋友可以参考下

SQLite不支持直接修改字段类型,如需要修改字段类型,可按以下方法处理:
1、将要修改的字段名改名
2、用新的类型添加字段
3、复制原字段的内容
4、删除旧字段

procedure SQLiteAlter(TableName,ColName,NewFileType:string);
  var sql:string;
  begin
    sql:='ALTER TABLE '+TableName+' RENAME COLUMN '+chr(39)+ColName+chr(39)+' TO '+chr(39)+ColName+'_old'+chr(39);
    UniSQL1.SQL.Text:=sql;
    UniSQL1.Execute;
    sql:='ALTER TABLE '+TableName+' ADD COLUMN '+ColName+' '+ NewFileType;
    UniSQL1.SQL.Text:=sql;
    UniSQL1.Execute;
    sql:='UPDATE '+TableName+' SET '+ColName+' = CAST('+ColName+'_old AS '+NewFileType+')';
    UniSQL1.SQL.Text:=sql;
    UniSQL1.Execute;
    sql:='ALTER TABLE '+TableName+' DROP COLUMN '+ColName+'_old';
    UniSQL1.SQL.Text:=sql;
    UniSQL1.Execute;
  end;
  //Demo:
  SQLiteAlter('blog_Content','TestFieldName','nvarchar(50)');

补充:sqlite sql 修改字段类型

sqlite数据库中数据类型存在sqlite_master表中

select sql from sqlite_master where tb_name='tbname'

把这条sql语句改了,表结构就改了。
sqlite的alter table限制很多,所以一般直接把原表改名。
复制一个表名与原表一样的,再把改名后的那个原表删了,以下sql语句可以用。
新表改完字段类型如果不兼容原表,新表中的该字段数据读不出。
所以要改类型可以不用声明字段类型

alter table zb RENAME TO tempxxx_1;
create table zb(rkdh char(15) ,gbdh char(15) ,cph nchar(9) );
INSERT INTO zb(rkdh,gbdh,cph,) select rkdh,gbdh,cph FROM tempxxx_1;
drop table tempXXX_1

到此这篇关于SQLite修改字段类型的方法的文章就介绍到这了,更多相关SQLite修改字段类型的方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • sqlserver添加sa用户和密码的实现

    sqlserver添加sa用户和密码的实现

    这篇文章主要介绍了sqlserver添加sa用户和密码的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 分享整理的12条sql语句连同数据

    分享整理的12条sql语句连同数据

    原本sql写得也不好,近几年数据库用得少,sql更是荒废了,最近复习sql,网上例 子很多,但都只是提供sql例子,没有配套的数据用来自己练习和调试
    2012-06-06
  • MyBatis实践之动态SQL及关联查询

    MyBatis实践之动态SQL及关联查询

    MyBatis,大家都知道,半自动的ORM框架,原来叫ibatis,后来好像是10年apache软件基金组织把它托管给了goole code,就重新命名了MyBatis,功能相对以前更强大了。本文给大家介绍MyBatis实践之动态SQL及关联查询,对mybatis动态sql相关知识感兴趣的朋友一起学习吧
    2016-03-03
  • Excel导入Sqlserver数据库脚本

    Excel导入Sqlserver数据库脚本

    简单但很实用的一段SQL脚本,相信大家在做新旧系统升级时会经常用到.
    2009-10-10
  • SQLServer2019 数据库环境搭建与使用的实现

    SQLServer2019 数据库环境搭建与使用的实现

    这篇文章主要介绍了SQLServer2019 数据库环境搭建与使用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • sql server中的任务调度与CPU深入讲解

    sql server中的任务调度与CPU深入讲解

    这篇文章主要给大家介绍了关于sql server中任务调度与CPU的相关资料,文中通过图文以及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-05-05
  • SQL 统计一个数据库中所有表记录的数量

    SQL 统计一个数据库中所有表记录的数量

    最近公司的数据库发现有表的数据被弄掉了,有些数据表记录为0,于是想找出此数据库中到底有哪些数据表的记录都为0以缩小分析范围,可使用如下的SQL Statement
    2012-01-01
  • SQL Server数据库按百分比查询出表中的记录数

    SQL Server数据库按百分比查询出表中的记录数

    这篇文章主要介绍了SQL Server数据库在一个表中按百分比查询出记录条数的方法及代码示例,需要的朋友可以参考下
    2015-08-08
  • 关于SQL数据库 msdb.dbo.sp_send_dbmail 函数发送邮件的场景分析

    关于SQL数据库 msdb.dbo.sp_send_dbmail 函数发送邮件的场景分析

    这篇文章主要介绍了关于SQL数据库 msdb.dbo.sp_send_dbmail 函数发送邮件的场景分析,需要的朋友可以参考下
    2018-10-10
  • SQL中的单条件判断函数IF和多条件判断CASE WHEN的用法

    SQL中的单条件判断函数IF和多条件判断CASE WHEN的用法

    MySQL提供了IF、IFNULL、CASE等条件判断函数,本文就来介绍一下SQL中的单条件判断函数IF和多条件判断CASE WHEN的用法,感兴趣的可以了解一下
    2023-10-10

最新评论