秋·风

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  278 随笔 :: 0 文章 :: 308 评论 :: 20万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
SQLite不支持直接修改字段类型,如需要修改字段类型,可按以下方法处理:
1、将要修改的字段名改名
2、用新的类型添加字段
3、复制原字段的内容
4、删除旧字段
复制代码
procedure SQLiteAlter(UniSQL:Tuniconnection; TableName,ColName,NewFileType:string);
var sql:string;
begin
  sql:='ALTER TABLE '+TableName+' RENAME COLUMN '+ColName+' TO '+ColName+'_old';
  UniSQL.Execute(sql);
  sql:='ALTER TABLE '+TableName+' ADD COLUMN '+ColName+' '+ NewFileType;
  UniSQL.Execute(sql);
  sql:='UPDATE '+TableName+' SET '+ColName+' = CAST('+ColName+'_old AS '+NewFileType+')';
  UniSQL.Execute(sql);
  sql:='ALTER TABLE '+TableName+' DROP COLUMN '+ColName+'_old';
  UniSQL.Execute(sql);
end;
复制代码
//Demo:
  SQLiteAlter(unisql,'blog_Content','TestFieldName','nvarchar(50)');

 

posted on   秋·风  阅读(573)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2022-07-21 解决linux每次重启系统后编写的cef4delphi程序都要解锁密钥环
点击右上角即可分享
微信分享提示