SQLite 字段重命名

假若我们在创建表的时候,把某个字段的名字写错了,并且已经写入了许多的数据,我们要把字段名改正回来,需要怎样做呢?

SQLite 并不支持我们直接去修改一个字段名,我们需要用一个比较复杂的操作来实现:

    1. 把原表重命名
    1. 新建一张表使用原表的名称,并在新建时候修改原错误的字段名
    1. 用原表中的数据填充到新表中
    1. 删除原表






下面用一个例子演示,假设有一个表,需要将 “colb” 重命名为 “col_b”

    1. 把原表重命名
ALTER TABLE orig_table_name RENAME TO tmp_table_name;

orig_table_name 是原表名称,我们先在要把它作为临时表使用,故重命名为 tmp_table_name

    1. 新建一张表使用原表的名称,并在新建时候修改原错误的字段名
CREATE TABLE orig_table_name (
  col_a INT
, col_b INT
);

注意,建立新表时各字段的设置应该与旧表保持一致。

    1. 用原表中的数据填充到新表中
INSERT INTO orig_table_name(col_a, col_b)
SELECT col_a, colb
FROM tmp_table_name;
    1. 删除原表
DROP TABLE tmp_table_name;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容