相关疑难解决方法(0)

Oracle中的null vs空字符串

可能重复:
为什么Oracle 9i将空字符串视为NULL?

我在Oracle 10g中的表命名TEMP_TABLE,只有两列- iddescription只为示范的缘故.

该列id是序列生成的类型主键,NUMBER(35, 0) not nullDESCRIPTION是其类型VARCHAR2(4000) not null.

在这种情况下,基本的表结构如下所示.

+--------------+-----------+---------------+
|Name          | Null?     | Type          |
+--------------+-----------+---------------+
|ID            | NOT NULL  | NUMBER(35)    |
|DESCRIPTION   | NOT NULL  | VARCHAR2(4000)|
+--------------+-----------+---------------+
Run Code Online (Sandbox Code Playgroud)

创建此表后,我尝试INSERT交替插入以下命令.

INSERT INTO temp_table (id, description) VALUES (1, null); ->unsuccessful
INSERT INTO temp_table (id, description) VALUES (2, '');   ->unsuccessful
Run Code Online (Sandbox Code Playgroud)

它们都不成功,因为not nullDESCRIPTION列上强制执行约束.

在这两种情况下,Oracle都抱怨道

ORA-01400: cannot insert NULL …
Run Code Online (Sandbox Code Playgroud)

string oracle null oracle10g

75
推荐指数
2
解决办法
14万
查看次数

标签 统计

null ×1

oracle ×1

oracle10g ×1

string ×1