Size: a a a

2020 November 05

A

Alex Darkside in MySQL
Ладно я с этим сам разберусь как нибудь, спасибо за помощь
источник

DE

Denis Efremov in MySQL
Alex Darkside
Есть и операции только из одного запроса, и есть запросы которые выполняется и без транзакций это зависит от структуры бд и хранения информации, пользователь не всегда все запросы выполняет с помощью транзакций
А на каком ЯП ты пишешь?
источник

A

Alex Darkside in MySQL
Denis Efremov
А на каком ЯП ты пишешь?
С#, VB.Net
источник

DE

Denis Efremov in MySQL
Мне кажется, что триггеры на уровне ЯП более гибкие
источник

DE

Denis Efremov in MySQL
При откатах возможны конфликты. Как ты их собираешься вычислять?
источник

G

Grigorij in MySQL
Alex Darkside
а как же в мобильных банкингах это деляют?, когда я перевожу деньги с одного счета на другой , там у меня в аккаунте  сохраняется номер транзакции , типо можо откатить обратно , если я не правильно перевел деньги
Ну, там все принципиально не так делается. На один платёж может быть несколько независимых транзакций в базу данных (и/или запросов на какое то внешнее АПИ). Если хочешь это все отменить, то проводишь процедуру в обратном порядке. Ручками из кода. Транзакции в бд они больше для атомарного изменения данных, а не для того, что ты написал.

Кстати, если работаешь с деньгами, то это обычно делают обратным, независимым, платежем. Что бы все движения денег сохранялись в базе отдельными записями. Иначе бухгалтерия потом может взвыть.
источник

IZ

Ilia Zviagin in MySQL
Alex Darkside
Есть и операции только из одного запроса, и есть запросы которые выполняется и без транзакций это зависит от структуры бд и хранения информации, пользователь не всегда все запросы выполняет с помощью транзакций
Любой запрос - это транзакция. Не бывает запросов без транзакции
источник

V

Vova in MySQL
Парни, памагити, что можно сделать когда на реплике вдруг
Can't write; duplicate key in table 'xxxxxxx', Error_code: 1022
источник

IZ

Ilia Zviagin in MySQL
Vova
Парни, памагити, что можно сделать когда на реплике вдруг
Can't write; duplicate key in table 'xxxxxxx', Error_code: 1022
Ну,  ты можешь скипнуть одну операцию, но реплика может развалиться, либо уже развалилась.
источник

G

Grigorij in MySQL
Посмотри на бинлог через musqlbinlog
источник

G

Grigorij in MySQL
Если у тебя не так много апдейтов, то можно понять на какой строчке актуальная позиция. Скипнуть лишнее и перезапустить с нужной позиции
источник

G

Grigorij in MySQL
Но есть шанс, что там уже все плохо и что то записалось поверху. Но теоретически можно привести к консистентному состоянию на ненагруженной бд
источник

V

Vova in MySQL
Ilia Zviagin
Ну,  ты можешь скипнуть одну операцию, но реплика может развалиться, либо уже развалилась.
А как скипнуть?
источник

G

Grigorij in MySQL
sql_slave_skip_counter=int
источник

ІМ

Ігор Мельник... in MySQL
Привет, можно ли как-то избежать такой вложености запросов?
источник
2020 November 06

DE

Denis Efremov in MySQL
Ігор Мельник
Привет, можно ли как-то избежать такой вложености запросов?
Вложенности во что?
источник

ІМ

Ігор Мельник... in MySQL
Можли ли соеденить два эти запроса в один?
источник

DE

Denis Efremov in MySQL
Ігор Мельник
Можли ли соеденить два эти запроса в один?
Откуда мне знать?
источник

DE

Denis Efremov in MySQL
Попробуй knex
источник

DE

Denis Efremov in MySQL
И промисы
источник