SQLite无法使用drop column删除表字段解决办法
由于项目需求变更,我需要在sqlite数据库的表中删除一个字段,通用的sql操作语句如下:
alter table record drop column name;
结果数据库提示如下错误:
搜索得知,原来SQLite目前还不支持drop column,所以必须想出另外一种方法来进行表字段的删除,读者要是说:“直接删掉这个表,然后在新建不见行了!”。
好吧,既然你这么不怕麻烦那就不需要往下看了。
我采用的方法是通过直接复制并过滤表结构来实现:
复制表结构的sql语句如下:
create table temp as select * from record where 1=2;
后面的where 1=2是为了只复制表的结构,而不会复制表的内容,即不然where条件执行即可,我们也可以写作where 0=1。
好了,继续正题,如上sql语句会复制一个和record表一样表结构的temp表出来,但是我们想要的是去除某一个字段(例如去除record表中的name字段),所以我们需要修改sql语句如下:
create table temp as select recordId, customer, place, time from record where 1 = 2;
这样复制出来的表就会缺少“name”字段,然后我们删除旧表并修改新表名即可。
drop table record; alter table temp rename to record;
好了,具体操作就是这些,大家如有建议,欢迎回复哦~
SQLite无法使用drop column删除表字段解决办法的更多相关文章
- 【数据库】——SQLite使用drop column删除表字段
		
由于项目需求变更,我需要在sqlite的表中删除一个字段,通用的sql操作语句如下: alter table task drop column custom_fields; 结果数据库提示如下错误: ...
 - sql server 删除表字段和字段的约束
		
删除数据库表中的字段时,使用了 :alter table 表名 drop column 列名 服务器返回的错误为:Server: Msg 5074, Level 16, State 1, Line 1 ...
 - db2数据库基本添加删除表字段总结
		
1.添加字段 alter table [table_name] add [column_name] [column_type] 2.更改字段类型 alter table [table_name] a ...
 - SQLite数据库在多线程写锁文件的解决办法
		
参考了很多SQLITE数据库多线程的解决办法 我自己写了一个SQLITEHELPER 来解决这个问题 希望大家多多指教 调用的时候 SQLLiteDBHelper _SQLLiteDBHelper ...
 - Windows下文件或文件夹不能删除时的解决办法
		
windows在删除文件或文件夹时,提示文件或文件夹被占用而无法删除 解决办法:win7: winxp:需要借助第三方工具Unlocker.360.Process Explorer(这个是微软支持的) ...
 - windows7系统下升级到IE11时无法使用F12开发人员工具的解决办法
		
windows7系统下升级到IE11时,发现F12开发人员工具无法使用,打开都是空白的 解决办法,就是下载IE11的补丁,下载地址为:https://www.microsoft.com/zh-CN/d ...
 - Windows7无法删除EFI分区解决办法
		
Windows7无法删除第二块儿硬盘的EFI分区的解决办法: 1.Win+R,diskpart. 2.在命令行中输入list disk 命令. 发现本机有两块儿磁盘,我们需要删除的EFI分区在磁盘1中 ...
 - sql 删除表字段中所有的空格
		
源地址:http://bbs.csdn.net/topics/30322040 Sample表中有一个Name字段,目前当中有很多记录含有空格,如:“ 张 学 友 ”,如何用SQL语句将这些空格删掉, ...
 - linux使用"userdel 用户名“删除用户的解决办法
		
在新建用户的时候我们可以忽略掉给用户分组的信息,而直接使用“useradd 用户名” 来直接添加新用户,所以由此想到删除用户能不能直接使用“userdel 用户名”来删除用户呢?回答是否定的,如此会残 ...
 
随机推荐
- Java Calendar 注意事项
			
Java JDK 提供了java.util.Calendar来处理日期和时间.Calendar是一个抽象类,是所有日历的模板,因此我们可以继承Calendar来实现其他的历法(比如阴历). Java提 ...
 - MVC将服务器端的物理路径转换为服务器路径
			
以图片为例 后台Controller.cs public FileResult ImageUrl(string file) { return File("物理路径"+file, & ...
 - 博弈论揭示了深度学习的未来(译自:Game Theory Reveals the Future of Deep Learning)
			
Game Theory Reveals the Future of Deep Learning Carlos E. Perez Deep Learning Patterns, Methodology ...
 - android:ems的作用
			
android:ems用来设置EditText或TextView显示的字符宽度. 比如:android:ems="10" 设置TextView或EditText为10个字符的宽度, ...
 - NMAP 基本用法
			
Nmap 用途: 1.通过对设备或者防火墙的探测来审计它的安全性. 2.探测目标主机所开放的端口. 3.网络存储,网络映射,维护和资产管理.(这个有待深入) 4.通过识别新的服务器审计网络的安全性. ...
 - ueditor不自动加P解决方法
			
百度的Ueditor编辑器出于安全考虑; 用户在html模式下粘贴进去的html文档会自动被去除样式和转义. 虽然安全的,但是非常不方便. 做一下修改把这个功能去掉. 一.打开ueditor.all. ...
 - php中ajax调用出错的问题
			
最近用一些php,客户的使用jquery ajax的时候经常报错 ajax报错内容:readyState:4 status:"OK",statusText:"OK&quo ...
 - 让Asp.net mvc WebAPI 支持OData协议进行分页查询操作
			
这是我在用Asp.net mvc WebAPI 支持 OData协议 做分页查询服务时的 个人拙笔. 代码已经开发到oschina上.有兴趣的朋友可以看看,欢迎大家指出不足之处. 看过了园子里的几篇关 ...
 - js+html+jquery 个人笔记
			
js+html+jquery 笔记 1.获取HTML对象 var obj = document.getElementById(elementId) 对象的值: obj.value() 2.获取jQue ...
 - csrf跨站请求伪造
			
如何杜绝跨站请求伪造? 1.要让服务器知道本次请求是不是冒用了用户的身份→ 2.服务器发给用户一个凭证,用户请求时需携带此凭证→ 3.此凭证只能用户看到而且冒用者看不到→ 4.这就用到了浏览器的安全机 ...