SQL
语句只能改变每列的一个属性(例如,类型或可空性)
b.你的错误在于:
1)
varchar(1)
和
not
null
一起写。
2)SET
DATA
TYPE
VARCHAR
(1)写成了
SET
DATA
COLUMN_NAME
VARCHAR
(1)
c.
所以:
1)alter
table
tbl_t_txn
alter
column
COLUMN_NAME
varchar(1)
not
null
这句分开写:
alter
table
tbl_t_txn
alter
column
COLUMN_NAME
SET
NOT
NULL
alter
table
tbl_t_txn
alter
column
COLUMN_NAME
SET
DATA
TYPE
varchar(1)
而:
2)ALTER
TABLE
tbl_t_txn
ALTER
COLUMN
COLUMN_NAME
SET
DATA
COLUMN_NAME
VARCHAR
(
1)
写成:
2)ALTER
TABLE
tbl_t_txn
ALTER
COLUMN
COLUMN_NAME
SET
DATA
TYPE
VARCHAR(1)
因为数据类型不同,首先需要对现有数据进行处理。如果对表中字段顺序没有要求的话:可以先添加一个Date类型字段,把time中的值插入到新字段中,然后把time字段Drop掉,然后再添加一个类型为Date的time字段,前面新增字段的值放回来,再去掉该字段。Done。
比较复杂,可以rename
table
把现在表重命名掉,然后新增一张表。然后把数据导回来,然后删除掉rename
的那张表。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)