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

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

dorfey

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

Возможно ли имея заполненную таблицу поменять местами два столбца?
 
возможно.
изменить структуру таблицы можно запросом alater table
правда, осмысленность перемены мест слагаемых представляется мне спорной
 
Фанат
Изначально структура таблицы была оч нграмотно построена. Возникла проблема после того как был введен англ интерфейс.
в результате таблица например с названиями разделов получилась такая:
|name|parent|name_en|
Ужас полный!
возникает проблема когда выбираются данные из этой таблицы.
 
Фанат
знач так.
структура таблицы.
|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?
получим ошибку структуры таблицы.

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

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

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

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

2. (@telepat_mod := 1) Ты фетчишь результат запроса в массив с числовыми индексами и отсюда торчат грабли. [m]mysql_fetch_array[/m]
 
lucas
а мне кажется тя всетаки подвел telepat_mod ;)
при этом я есче не фетчил данные.
ошибка происходит до этого, во время запроса к таблице.
 
тема закрыта, за отсутствием состава преступления.
будет конкретная ошибка - будет о чём говорить.
а просто для разгоовров, язык почесать, есть другие места
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху