在DBeaver中直接输入“NULL”不生效,因其被识别为字符串而非SQL空值;正确方式是清空单元格、按Ctrl+0(或Cmd+0)、右键选“Set NULL”,或SQL中不加引号写NULL。

在DBeaver中直接输入NULL不生效?这是常见误解
直接在编辑器单元格里敲 NULL 或 null,DBeaver 默认会把它当字符串插入,而不是 SQL 的空值。真正生效的方式是清空单元格(或按 Ctrl+0),让字段显示为 <null></null> 状态——这才是数据库层面的 NULL。
手动编辑时如何正确录入NULL:快捷键和界面操作
DBeaver 编辑数据行时,NULL 不是“输进去”的,而是“清出来”或“标出来”的:
- 选中目标单元格,按
Ctrl+0(Windows/Linux)或Cmd+0(macOS),立刻变为<null></null> - 双击单元格后直接删光内容,再按回车,也会转为
<null></null> - 右键单元格 → 选择
Set NULL(部分版本可见) - 若字段设为
NOT NULL,上述操作会被拒绝,界面上会提示约束冲突
执行SQL插入时写NULL要注意引号和类型
用 SQL 执行面板插入时,NULL 是关键字,不能加引号,否则变成字符串:
INSERT INTO users (id, name, email) VALUES (1, 'Alice', NULL); -- ✅ 正确
INSERT INTO users (id, name, email) VALUES (1, 'Alice', 'NULL'); -- ❌ 插入字符串'NULL'
INSERT INTO users (id, name, email) VALUES (1, 'Alice', ''); -- ❌ 插入空字符串,不是NULL
特别注意:对 TIMESTAMP、JSON、ARRAY 等类型,有些驱动会把空字符串或默认值自动转成非 NULL 值,务必确认实际写入结果。
批量导入CSV时NULL值怎么识别
CSV 导入向导里,NULL 不是靠内容判断的,而是靠显式配置:
- 导入前勾选
Parse NULL values(关键!默认常为关闭) - 在下方
NULL string输入框填你CSV里表示空值的标记,比如N、NULL、\N(注意转义)、甚至空字符串"" - 如果CSV某列是数字型但含空字段,不配 NULL 解析,DBeaver 可能报类型转换错或插成 0
- 导入后建议立刻查
SELECT * FROM tbl WHERE col IS NULL LIMIT 5;验证是否真为 NULL
最易被忽略的是 CSV 导入默认不解析 NULL —— 看似空着的单元格,实际可能插成了空字符串或默认值,连 IS NULL 都查不到。


















