2013-06-07 7 views
0

Мне нужно изменить идентификатор 1 таблицы. но идентификатор используется для других таблиц. Итак, как создать sql-запрос для обновления каждой таблицы одновременно?sql serveur query update cascade

UPDATE table1,table2,table3 
SET id = 2 
where id=1 

Как создать каскадный запрос обновления?

+0

Оператор UPDATE может влиять только на одну таблицу за раз. Вы можете временно отказаться от ограничений, обновить три таблицы, а затем снова включить ограничения; или вы можете добавить новую строку в родительскую таблицу, скопировать остальные данные из старой строки, обновить другие таблицы, указывающие на нее, а затем удалить старую строку. –

+0

Зачем вам это нужно? Я предполагаю (из-за вашего фрагмента кода), что это суррогатные ключи, так почему бы вам когда-либо захотеть их изменить? –

ответ

0

Если вы создаете внешние ключи с помощью ON UPDATE CASCADE, вы можете просто обновить первичный ключ, и все ссылки будут меняться автоматически.