SQLite如何删除,修改、重命名列_MySQL
今天在SQLite数据库中添加了一列,后来发现列名写错了,于是使用SQL语句来修改列名,可是根本不管用。
首先,请放弃alter吧。
sqlite官方说明如下:
SQLite supports a limited subset of ALTER TABLE. The ALTER TABLE command in SQLite allows the user to rename a table or to add a new column to an existing table. It is not possible to rename a column, remove a column, or add or remove constraints from a table.
大概意思是sqlite的alter功能只是alter table的一个子集,只有部分功能,比如重命名表名,新增列到现有表中。
不支持现有列的重命名,删除和修改。
查了N多资料,貌似只能通过一种间接的办法去做了,不管是重命名列还是删除列。
比如说你要修改的表名是A,方法步骤如下:
1.新建一个临时表T,这个T和表A具有相同的列。
2.把A中所有的数据都通过insert语句插入到T中
3.删除表A
4.新建表A,这时表A的列名就是你想要的结果,以前想修改的列名是什么,这时候就定义成什么,以前要删除的某个列,那么在定义的时候就不定义它。
5.恢复数据,把数据通过insert语句插入A,结构是insert into A select ... from tablen T
6.删除临时表T。
这个办法太笨拙了,但是目前还没有更好的办法啊,啊,啊,啊,啊,啊,啊 ,啊, 啊, 啊,啊, 啊,
bitsCN.com推荐阅读
-
mysql 如何修改、添加、删除表主键
-
mysql在表的某一位置增加一列、删除一列、修改列名
-
SQLite数据库增加修改删除以及如何查看(7)
-
mysql 如何修改、添加、删除表主键
-
SQLite如何删除,修改、重命名列_MySQL
-
图片如果不存在mysql数据库 如何删除和修改。
-
MySQL学习总结(八)DDL语言之常见约束/六大约束/添加约束/列级约束/表级约束/列级约束和表级约束的区别/复合主键/主键和唯一的区别/修改表时删除约束
-
MySQL数据库(四):DML(增、改、删)、DDL(表的创建、修改、删除、复制等)、约束、标识列(自增长列)
-
MySQL学习总结(六)DDL语言之库的创建/修改库名/修改库的字符集/库的删除/表的创建/修改列名/添加列/修改列的类型或约束/删除列/修改表名/表的删除/表的复制
-
MySQL 添加列,修改列,删除列_MySQL