在sql中出现ora-12899错误

时间:2016-05-18 23:31:39

标签: sql oracle sqlplus

我创建了一个表

SQL> DESC Customers


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

我试图在表格中插入一行

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

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

  

第2行的错误:   ORA-12899:对于列#34; CM420E08"。" CUSTOMERS"。" ZIP_CODE"   (实际:7,最大:5)

我只输入5位数,但它说我输入了7.任何想法?

2 个答案:

答案 0 :(得分:1)

仔细查看您的INSERT声明:

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

您实际上是在尝试输入字符串(20743),这是包含在括号中的五位数邮政编码。您应该插入20743,或将ZIP_CODE列设为7个或更多字符。

答案 1 :(得分:0)

您输入的是7个字符 - 您的namezip_code字符串似乎有一个“(”作为第一个字符,而“)”作为第二个字符。你可能想要

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