#python #sql #python_3x #sqlite
Здравствуйте, участники сообщества, я столкнулся с проблемой, что мне нужно выполнить sql запрос, примерно такой: (python 3.5, sqlite) cur = db.cursor() cur.execute("CREATE TABLE contact_info(ID INTEGER PRIMARY KEY autoincrement," firstname VARCHAR(60), lastname VARCHAR(60), middlename VARCHAR(60)," "UNIQUE (firstname, lastname, middlename) ON CONFLICT REPLACE);") cur.execute("INSERT OR REPLACE INTO contact_info VALUES" "((SELECT ID FROM contact_info WHERE firstname=? AND" "lastname=? AND middlename=?), ?, ?, ?);", [fname, lname, mname, fname, lname, mname]) После чего мне нужно узнать, выполнился INSERT или REPLACE, но я не понимаю, как это можно сделать, не написав дополнительных запросов. И мне бы хотелось понять, как правильнее всего можно это узнать?
Ответы
Ответ 1
Например, так: SELECT last_insert_rowid() Без дополнительных запросов не выйдет, к сожалению. В PostgreSQL, например, есть RETURNING, который возвращает все модифицированные айдишники.
Комментариев нет:
Отправить комментарий