Управление версиями строк для MySql - PullRequest
2 голосов
/ 17 декабря 2009

Есть ли встроенный механизм контроля версий строк для MySQL? Нечто подобное столбцу timestamp в MS SqlServer.

Ответы [ 2 ]

1 голос
/ 28 октября 2015

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

Таким образом, если ваш запрос на обновление затрагивает 100 строк, все строки будут иметь одинаковую метку времени (скажем, значение 2015-10-28 09: 47: 10.123456). Но возможно, что записи не будут завершены до 2015-10-28 09: 47: 10.654321.

Если по отдельности вы ищете все измененные строки на основе другой временной отметки (скажем, 2015-10-28 09: 47: 10.500000), вы не получите желаемых результатов. И в зависимости от вашего кода, вы можете пропустить 100 измененных строк.

Это факт, что изменения в строках теперь могут иметь временную метку в прошлом, что вы не можете просто сравнить 2 временные метки, чтобы получить все измененные строки.

1 голос
/ 17 декабря 2009

Если вы добавите поле «отметка времени», оно будет обновляться автоматически при каждом обновлении строки - хотя это не совсем версионирование, но звучит так, как будто это то, что вы ищете.

...