Cx_Оракул. используя to_date в питоне

Я хочу вставить строку в свою таблицу, но получаю сообщение об ошибке. Где я ошибаюсь?

CREATE TABLE  person (

  name          VARCHAR(40),
  birthday      DATE,
  PRIMARY KEY (name)
  );

Теперь в python я пытаюсь вставить человека со следующим утверждением...

     curs = connection.cursor

     name = input("Name: ")
     birthday = input("Birthdate(yyyy-mm-dd): ")

     insert = """insert into people(name, birthday) values (:name,:birthday)"""

     curs.execute(insert,{'name':name,'to_date(birthday, "yyyy-mm-dd")':birthday})

Я получаю следующую ошибку:

curs.execute(insert,{'name':name,'to_date(birthday, "yyyy-mm-dd")':birthday})
cx_Oracle.DatabaseError: ORA-01036: illegal variable name/number

person CloudN9ne    schedule 17.03.2014    source источник


Ответы (1)


Разобрался, дату вставил неправильно. Мой синтаксис был неправильным и должен был быть:

 curs = connection.cursor

 name = input("Name: ")
 birthday = input("Birthdate(yyyy-mm-dd): ")

 insert = """insert into people(name, birthday) values (:name, to_date(:birthday, 'yyyy-mm-dd'))"""

 curs.execute(insert,{'name':name, 'birthday':birthday})
person CloudN9ne    schedule 18.03.2014