Помощник
|
+1 |
Salikhoff_hb
|
Сообщение
#1
|
||
|
|
||
|
|||
Webmaster_hb |
11.2.2011, 19:38;
Ответить: Webmaster_hb
Сообщение
#2
|
|
update `table` set id=id+1
|
|
|
Salikhoff_hb
|
Сообщение
#3
|
|
спасибо!
|
|
|
Salikhoff_hb
|
Сообщение
#4
|
|
в mysql не проходит!
|
|
|
ottaviano |
11.2.2011, 23:31;
Ответить: ottaviano
Сообщение
#5
|
|
(' post='100436 @ 12.2.2011, 00:24) в mysql не проходит! так с базой говорят на mysql'ском... на каком тебе надо то? |
|
|
Salikhoff_hb
|
Сообщение
#6
|
|
|
mysql vs postgresql/
Дополнено 12.04.2009: пример использования mysql в крупной системе. вот и не работает! Интересное знание по поводу особенностей mysql было получено на этой неделе. Оказывается в настоящее время констраинты там проверяются до завершения транзакции. Т.е. если вы изменяете поле, для которого например есть уникальный ключ и при этом изменении нарушается его уникальность, то вы получите ошибку, даже если в ходе транзакции предполагалось провести несколько таких изменений без нарушения уникальности. Грубо говоря оператор update table set id = id + 1 невозможен в принципе. Я проверил на версии 5.0.x ага, так и есть. Я прям задумался.. кажется такое-же ограничение я где то видел раньше. Interbase? Oracle? Не припомню. Если оно касается всех констраинтов, то конечно это не очень круто – придется продумывать все операции модификации данных с учетом этой “особенности”.. а жить с ней, по-моему все-таки возможно.
|
|
|
||
|
Текстовая версия | Сейчас: 25.4.2024, 13:16 |