2016-04-08 73 views
1

我創造了這個表:號碼無效SQL 01722

create table user_info(
ID number(3) primary key, 
employee_id number(6), 
login varchar2(8) not null, 
password varchar2(16) not null, check (password>5), 
creation_date date default sysdate, 
constraint empid_fk foreign key(employee_id) references employees(employee_id) 
) 

當我要插入一些值,

insert into user_info values(123,123123,'login','password','08-04-2016'); 

我收到此錯誤:

01722. 00000 - "invalid number" 
*Cause:  
*Action: 

有人能解釋我的插入查詢有什麼問題?

+0

這是一個Oracle數據庫? – Elezar

回答

2

check (password>5)

在那裏不行。你的密碼是一個varchar2,而不是一個數字。你不能檢查它的值是否高於5,因爲它不是一個數字。

如果你想檢查它的字符數,你可以使用:

password varchar2(16) not null CHECK (LENGTH(password) > 5)

+0

00936. 00000 - 「missing expression」 *原因: *操作: 我收到這個錯誤,如果我正在檢查你是怎麼寫的 –

+0

剛剛編輯是因爲一個錯字,你能這樣試試嗎? – Isuka

+0

LEN 00904. 00000 - 「%s:無效的標識符」 *原因: *操作: –

相關問題