假若我们在创建表的时候,把某个字段的名字写错了,并且已经写入了许多的数据,我们要把字段名改正回来,需要怎样做呢?
SQLite 并不支持我们直接去修改一个字段名,我们需要用一个比较复杂的操作来实现:
- 把原表重命名
- 新建一张表使用原表的名称,并在新建时候修改原错误的字段名
- 用原表中的数据填充到新表中
- 删除原表
下面用一个例子演示,假设有一个表,需要将 “colb”
重命名为 “col_b”
。
- 把原表重命名
ALTER TABLE orig_table_name RENAME TO tmp_table_name;
orig_table_name
是原表名称,我们先在要把它作为临时表使用,故重命名为 tmp_table_name
。
- 新建一张表使用原表的名称,并在新建时候修改原错误的字段名
CREATE TABLE orig_table_name (
col_a INT
, col_b INT
);
注意,建立新表时各字段的设置应该与旧表保持一致。
- 用原表中的数据填充到新表中
INSERT INTO orig_table_name(col_a, col_b)
SELECT col_a, colb
FROM tmp_table_name;
- 删除原表
DROP TABLE tmp_table_name;
网友评论