You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Databricks SQL Notebook执行含CHECK约束的SQL时报语法错误

解决Databricks SQL中CHECK约束的语法错误

你编写的SQL语句:

Create or replace table student 
(
Student_id int primary key,
Age int check ( age>10)
)

执行时触发错误:

[Parse syntax Error ]: syntax error at or near check

问题原因

Databricks SQL基于Spark SQL,其语法不支持列级直接跟随CHECK约束的写法,这是导致语法解析错误的核心原因。

解决方法

方法1:使用表级CHECK约束语法

将CHECK约束单独作为表定义的一部分,放在所有列定义之后:

CREATE OR REPLACE TABLE student 
(
  Student_id INT PRIMARY KEY,
  Age INT,
  CHECK (Age > 10)
)

注意事项

需要注意的是,当前Spark SQL的CHECK约束仅做语法层面的校验,不会实际强制执行数据校验。如果需要确保写入的数据满足Age > 10的规则,需要在数据写入环节添加逻辑判断(比如通过WHERE子句过滤不符合条件的数据,或者在ETL流程中提前校验)。

内容的提问来源于stack exchange,提问作者Anubhav sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 16:27:01