Другие языки программирования и технологии

Здравствуйте! Помогите изменить массово данные таблиц в mysql

Здравствуйте!

Помогите изменить массово данные таблиц,
т. е. есть таблица 1 с полями 1,2 и 3, в полях 1 и 2 одинаковое цифровое значение идущее по порядку от 1 до ~.
Но случился сбой и где то в середине значения в полях сбился порядок (например в 1-ом поле значение id 300, а во втором 301, а должно 300 и 300 соответственно).
а если так UPDATE таблица SET поле2=поле1
Ярослав .
Ярослав .
34 078
Лучший ответ
если поле 2 строго равно полю 1, то выкинуть к едрене-фене поле 2. Объём базы сократится на треть. :) ...не считая индексов...
Эдуард Макаев
Эдуард Макаев
91 965
> случился сбой

Если такой сбой случился, значит он случился не в последний раз.
Значит тот кто проектировал эту мускульную базу попросту дилетант и его надо гнать в шею.
Создаете доп табличку с нужными полями, первое-второе поле делаете AUTO_INCREMENT. Далее, если у Вас тип таблиц InnoDB, отправляете транзакцию. Пишу на PHP:

$trans1 = mysql_query("SET AUTOCOMMIT=0");
$trans2 = mysql_query("START TRANSACTION");

$res_selectall = mysql_query("SELECT field3 FROM table1");
$row_selectall = mysql_fetch_array($res_selectall);
do
$res_insert = mysql_query("INSERT INTO table2(field3) VALUES ('$row_selectall[field3]')");
while ($row_selectall = mysql_fetch_array($res_selectall));

$trans3 = mysql_query("COMMIT");
$trans4 = mysql_query("SET AUTOCOMMIT=1");

Ну вот примерно так. field3 - это единственное Ваше поле, которое имеет значение, отличное от порядкового номера (ну, третье поле испорченной таблицы) . table1 - собственно, испорченная таблица, table2 - та, которую Вы создадите вручную и заполните значениями при помощи скрипта. Вот Вам готовая норм таблица.. .

Если что криво написал - пишите
девушка - прогер?? ? Ничёсе!! ! Ну лан, по вопросу. Попробуй по циклу пустить где при каждом значении присваивается нужный айди
В примитивнейшем случае можно воспользоваться поиском с заменой по маске. Но проще все таки цикл..
Pulaтov Maxmud
Pulaтov Maxmud
332
база нужна ,. номер её