изменение структуры таблицы в БД

Статус
В этой теме нельзя размещать новые ответы.

dorfey

Guest
изменение структуры таблицы в БД

Возможно ли имея заполненную таблицу поменять местами два столбца?
 

Фанат

oncle terrible
Команда форума
возможно.
изменить структуру таблицы можно запросом alater table
правда, осмысленность перемены мест слагаемых представляется мне спорной
 

dorfey

Guest
Фанат
Изначально структура таблицы была оч нграмотно построена. Возникла проблема после того как был введен англ интерфейс.
в результате таблица например с названиями разделов получилась такая:
|name|parent|name_en|
Ужас полный!
возникает проблема когда выбираются данные из этой таблицы.
 

dorfey

Guest
Фанат
знач так.
структура таблицы.
|cid|name|parent|count|name_en|

PHP:
if($_session['lang']==rus){
$table="name";
}else{
$table="name_en"; }
для русс версии селект будет выглядеть так:
query('select cid,$table,parent,count from ...........');

а терь что произойдет если $table будет равен name_en?
получим ошибку структуры таблицы.

Вот такая фот фигня получилась :(
 

Фанат

oncle terrible
Команда форума
не понял.
какая ошибка? можно точный текст запроса и ошибки?
 

dorfey

Guest
Фанат
ошибку которую выдает мускул сча нет возможности посмотреть.
вообщем тут все просто.
когда мне нужен столбец [name] я читаю его строго после столбца [cid] и перед столбцом [parent].

если нуна прочитать данных из столбца [name_en], то в моем запросе получается что читать я его буду после столбца [cid] и перед столбцом [parent].

вот отсюда и вылезает ошибка последовательности запроса.
 

lucas

Guest
Значит так.

1. Никаких проблем с запросом "SELECT cal1, col3, col2..." не возникает.

2. (@telepat_mod := 1) Ты фетчишь результат запроса в массив с числовыми индексами и отсюда торчат грабли. [m]mysql_fetch_array[/m]
 

dorfey

Guest
lucas
а мне кажется тя всетаки подвел telepat_mod ;)
при этом я есче не фетчил данные.
ошибка происходит до этого, во время запроса к таблице.
 

Фанат

oncle terrible
Команда форума
тема закрыта, за отсутствием состава преступления.
будет конкретная ошибка - будет о чём говорить.
а просто для разгоовров, язык почесать, есть другие места
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху