sql 中的 ora-12899 错误

ora-12899 error in sql

我创建了一个table

SQL> DESC Customers


Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
 ACCT_ID                                   NOT NULL VARCHAR2(10)
 NAME                                      NOT NULL VARCHAR2(30)
 ZIP_CODE                                           CHAR(5)

我试图在 table

中插入一行
INSERT INTO customers (acct_id, name, zip_code)
VALUES ('1234567890', '(Danelle)', '(20743)');

我收到此错误,但我似乎无法修复它。

ERROR at line 2: ORA-12899: value too large for column "CM420E08"."CUSTOMERS"."ZIP_CODE" (actual: 7, maximum: 5)

我只输入了 5 位数字,但它说我输入的是 7 位数字。有什么想法吗?

仔细查看您的 INSERT 声明:

INSERT INTO customers (acct_id, name, zip_code)
VALUES ('1234567890', '(Danelle)', '(20743)')

您实际上是在尝试输入字符串 (20743),这是用括号括起来的五位邮政编码。您应该插入 20743,或者使 ZIP_CODE 列的宽度为 7 个或更多字符。

您输入了 7 个字符 -- 您的 namezip_code 字符串的第一个字符为“(”,第二个字符为“)”。你可能想要

INSERT INTO customers (acct_id, name, zip_code)
VALUES ('1234567890', 'Danelle', '20743');