MySQL RowCount всегда возвращает 1 на операторе INSERT INSERTMySql

Форум по Mysql
Ответить
Anonymous
 MySQL RowCount всегда возвращает 1 на операторе INSERT INSERT

Сообщение Anonymous »

Я использую соединитель pymysql для выполнения некоторых вставки в мою базу данных. Я пытаюсь вернуть, была ли запись, была добавлена ​​или обновлена.

Код: Выделить всё

import pymysql
db = pymysql.connect(host='127.0.0.1',user='USERNAME',password='PASSWORD',database='DATABASE')
cursor = db.cursor()

sql = "INSERT IGNORE INTO `Table` (key, via) SELECT temp.`id`, 'Via_Bot' FROM (SELECT %s AS id) temp LEFT JOIN `Other_Table` ON `Other_Table`.id = temp.id WHERE `Other_Table`.id IS NULL;"
key_id = 'ab12cd'
rows = cursor.execute(sql, (key_id,))

db.commit()
В этой ситуации строки и cursor.rowcount всегда возвращает 1, даже если запись не была вставлена/изменена. Как правильно увидеть, была ли запись обновлена/вставлена?

Подробнее здесь: https://stackoverflow.com/questions/794 ... -statement
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»