Заменить, если существует, или вставить в базу данных mySQL из Python - PullRequest
0 голосов
/ 10 марта 2020

Я хотел бы заменить значение, если дата / время для строки в таблице совпадают с той, которую он пытается вставить. Если время / дата не существует в таблице, вставьте ее.

Если вы видите картинку. Значение nr 2 до конца имеет то же время, что и первое значение. Тогда он должен заменить первый, потому что они имеют одинаковое время. Не добавляются последними в список. Если время не существует, то оно может быть добавлено.

Я пытался использовать REPLACE и ON DUPLICATE KEY UPDATE, но я не могу заставить его работать ...

"INSERT INTO flowAvarageValuesDays (time, value) VALUES (%s, %s) ON DUPLICATE KEY UPDATE avarageFlowValueDays=%s", (time,value,value)

и

"REPLACE INTO flowAvarageValuesDays (time, value) VALUES (%s, %s)",
            (time, value)

Таблица

1 Ответ

0 голосов
/ 11 марта 2020
IF(SELECT time FROM table WHERE %s IN(time), INSERT INTO flowAvarageValuesDays (time, value) VALUES (%s, %s) ON DUPLICATE KEY UPDATE avarageFlowValueDays=%s, (time,value),REPLACE INTO flowAvarageValuesDays (time, value) VALUES (%s, %s),

(время, значение))

...