1

Тема: Оновити значення у всіх таблицях mysql

Привіт.
Є бд, в якій лежать багато таблиць, і половина з них є одинакова (тільки назва таблиці інша, додається в назву таблиці номер).
Наприклад

tab_settings
tab_1_settings
tab_2_settings
tab_9_settings
...
tab_200_ settings

Ми можемо написати такий sql:

UPDATE tab_settings SET option_value = REPLACE(option_value, '@test', '@test2') WHERE option_name = 'setting_name';
UPDATE tab_1_settings SET option_value = REPLACE(option_value, '@test', '@test2') WHERE option_name = 'setting_name';
UPDATE tab_2_settings SET option_value = REPLACE(option_value, '@test', '@test2') WHERE option_name = 'setting_name';
UPDATE tab_9_settings SET option_value = REPLACE(option_value, '@test', '@test2') WHERE option_name = 'setting_name';
...

UPDATE tab_200_settings SET option_value = REPLACE(option_value, '@test', '@test2') WHERE option_name = 'setting_name';

і все буде працювати, а чи можна це зробити одним sql запитом?

2

Re: Оновити значення у всіх таблицях mysql

А, вибачте, нащо вам багато таблиць з однаковою структурою? Це має бути одна таблиця з додатковим полем "номер_таблиці" абощо.
Якщо структура бази визначена зовнішніми причинами, на які ви не впливаєте, поясніть, чого саме ви хочете досягти - щоб це простіше записувати чи щоб воно гарантовано виконувалося разом? Перше - процедура, друге - транзакція.

Подякували: leofun01, 221VOLT2