Всем привет! Использую python+firebird. Хочу создать новую запись в таблице
В таблице есть тригер на генерацию ID и даты:
AS
BEGIN
if(new.id is null) then new.id=gen_id(d_gen_commands,1);
new.datetime="now";
post_event "d_new_command";
END
---------------------
cur.execute(f"insert into d_commands values {(num, date_and_time, 1, 'open_door,0', -1062731554)}")
Мой код выше полностью работает, но мне надо не 5 значений вписывать, а только 3 из них.
И вот моё решение:
cur.execute(f"insert into d_commands (executor, text, phis_addr) values ({int(1)}, {str(action)}, {int(-1062731554)})")
да, может с *int* и *str* не красиво выглядит, но я уже отчаялся что "мало-ли"... Всё что нашел - перепробовал, поэтому я тут :) Выдаёт следующую ошибку:
('Error while preparing SQL statement:\n- SQLCODE: -206\n- Dynamic SQL Error\n- SQL error code = -206\n- Column unknown\n- OPEN_DOOR\n- At line 1, column 63', -206, 335544569)
Ещё где-то вычитал что при моём динамическом запросе надо вручную вызывать триггер из начала поста. Не знаю правда или нет и не знаю как xD
Подскажите пожалуйста как решить эту проблему. Спасибо!