如何修改Databricks Delta表的列数据类型?执行SQL遇语法错误
Databricks Delta表修改列数据类型语法错误修复
问题场景
执行以下SQL试图修改Delta表列的数据类型:
ALTER TABLE TableName alter COLUMN ColName int
触发语法错误:
ParseException:
[PARSE_SYNTAX_ERROR] Syntax error at or near 'int': extra input 'int'.(line 1, pos 68)== SQL ==
ALTER TABLE TableName alter COLUMN ColName int
--------------------------------------------------------------------^^^
正确写法
Databricks Delta表修改列类型必须使用SET DATA TYPE关键字,正确语句如下:
ALTER TABLE TableName ALTER COLUMN ColName SET DATA TYPE int;
原因解释
Databricks SQL的Delta表列类型修改语法要求必须通过SET DATA TYPE明确指定目标类型,直接在列名后写类型不符合语法规范,这是Delta Lake定义的ALTER COLUMN操作标准格式。
内容的提问来源于stack exchange,提问作者Antony
相关产品推荐
相关产品推荐

