0
我有一個表:cx_Oracle.DatabaseError:ORA-00947:沒有足夠的值
create table employee (
employee_id NUMBER NOT NULL,
name VARCHAR2(255) NOT NULL,
notes VARCHAR2(4000),
created_by varchar2(255) not null,
created_at date default sysdate not null,
updated_by varchar2(255) not null,
updated_at date default sysdate not null,
PRIMARY KEY(vendor_id)
);
所以當我從SQL開發插入:
insert into employee(employee_id, name,notes) values(1,'xyz','test');
它自動填充create_by,created_at,和的updated_at updated_by。
行插入成功。
而如果我嘗試使用cx_Oracle模塊在python插入,
cursor.execute("INSERT INTO employee VALUES (:employee_id,:name,:notes)",
{
'employee_id' : max_value,
'name' : each_vendor,
'notes' : 'test'
}
)
它拋出錯誤說沒有足夠的值。
爲什麼我得到這個錯誤?我該如何解決它?
你確定它工作在SQL Developer中?您沒有爲created_by或updated_by列指定任何默認值,因此無論您從哪裏運行該插入語句,都會預期它會失敗。 – Boneist
您是否檢查過變量的值? max_value和each_vendor – Diver