Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Дать полю AUTO_INCREMENT и PRIMARY KEY и заполнить данными без PHP? (http://www.flasher.ru/forum/showthread.php?t=86419)

automatix 14.10.2006 21:36

Дать полю AUTO_INCREMENT и PRIMARY KEY и заполнить данными без PHP?
 
Всем привет!

Такая задача. Есть таблица в БД. У нее n полей и m строк. Поле id пустое, точнее пустые его ячейки во всех стрках. Ну, так вышло. :) Можно ли сделать его AUTO_INCREMENT и PRIMARY KEY и заполнить данными, числами от нуля до m-1, не прибегая к помощи серверного скриптового языка? Иными словами -- есть ли для этой задачи решение для ленивых -- через phpMyAdmin?

Спасибо.

Огион 16.10.2006 13:38

Сделайет экспорт в sql (структура+данные), добавьте в create table AUTO_INCREMENT и PRIMARY KEY и перезалейте данные.

непосредственно по таблице без извращений не получится.

Skubent 16.10.2006 13:53

Кроме id поля есть ? Можно, к примеру, сначала сделать UPDATE table SET id=some_hash(field1, field2, ... , fieldN);
Потом сделать id ключом, потом добавить к нему автоинкремент. От нуля до m-1 не получится, но ключ будет.

automatix 22.10.2006 20:14

Спасибо за подсказку. Только я не понял конструкцию some_hash(field1, field2, ... , fieldN). И функцию some_hash тоже нигде не нашел...

Skubent 23.10.2006 13:08

Гхм... some_hash - это функция, которую тебе надо придумать, чтобы она а) возвращала числовое значение и б) это самое значение было уникальным для каждой из записей. Что бы в процессе UPDATE не вылезла ошибка "duplicate key found".


Часовой пояс GMT +4, время: 02:15.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.