已定义数据类型时向BigQuery表插入记录报错求助
BigQuery插入INT64列报错的解决方法
问题根源
你的表中EmployeeID列已正确定义为INT64类型,但插入语句里给该列赋值时用了单引号包裹(比如写成'1001'),BigQuery会将带引号的内容判定为STRING类型,和列的数值类型不兼容,因此抛出类型不匹配的错误。
修复步骤
- 修正插入语句:去掉EmployeeID值的单引号,直接传入纯数字。
错误示例:
正确示例:INSERT INTO `your-project.your-dataset.your-table` (EmployeeID, EmployeeName, Department) VALUES ('1001', '张三', '技术部')INSERT INTO `your-project.your-dataset.your-table` (EmployeeID, EmployeeName, Department) VALUES (1001, '张三', '技术部') - 统一类型规范:所有数值类型列(INT64、FLOAT64等)的插入值都不要加引号,仅字符串类型列(STRING)的值需要用单/双引号包裹。
额外验证建议
- 再次确认建表语句中EmployeeID的类型确实为INT64,避免因建表时的疏忽导致类型定义错误。
- 如果是批量导入数据(比如从CSV文件),要确保数据源中EmployeeID列的内容是纯数值格式,没有额外的引号或字符,必要时在导入配置中设置类型自动转换规则。
内容的提问来源于stack exchange,提问作者Mellinda
相关产品推荐
相关产品推荐

