MySQL манипуляции с именами колонок

nut

Новичок
MySQL манипуляции с именами колонок

hi!

В общем такая задача:
есть колонки - col1, col2, col3, sid, w в table1
нужно записать значение 2000 в колонку col{sid} где w =1
Т.е. UPDATE table1 SET concat('col',sid)=2000 WHERE w=1

Подскажите это возможно или нет?
 

Mols

Новичок
Можно написать процедуру которая сможет делать такое.
чё нить в таком роде

BEGIN
set @sql = ' select * from table where id = ?';

if length(int_var) > 0 then
set @sql = concat(@sql, 'ещё чё нить');
end if;

prepare quer from @sql;
set @tt = input_value;
execute quer using @tt;
DEALLOCATE PREPARE quer;
END

можно в принципе обойтись и без подстановки значений в конце... тогда целиком запрос делается (при помощи concat вставляешь нужные значения)...
ток надо делать именно процедуру.. функции динамическое формирование запросов не поддерживают
 

nut

Новичок
и процедуры появились только в MySQL 5 правильно?
 

Mols

Новичок
угу.... в 5м появились
ну а если формирование запроса в ПХП так вообще...
какие трудности ?
 

nut

Новичок
в том то и прикол, не хочется использовать транзакции, и не хочется делать в 2 запроса так как инфа может поменяться за время между ними
 

jer

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

nut

Новичок
помоему тоже, но базу проектировал не я, и менять ее нельзя.
 

Фанат

oncle terrible
Команда форума
ужасно хочется спросить, почему нельзя получить col1 в пхп.
но спрашивать я не буду, поскольку песня "базу проектировал не я, и менять ее нельзя" очень старая и всем давно надоела.

придумали бы что-нибудь новенькое, проявили бы фантазию
 

Фанат

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

nut

Новичок
слушай, фанат, ты русский или нет? читай внимательно или тебе делать нех** здесь люди задают вопросы чтобы на них ответили а не для того чтобы ты прикалывался или переспрашивал.
Помоему вопрос был задан однозначно, это не первый раз с тобой.
 

Фанат

oncle terrible
Команда форума
а! так твой вопрос - это шутка?
а я-то, дурак, не догнал! =)
 

totamon

Новичок
nut, не вижу в топике ни юмора, ни причин почему базу поменять нельзя...
если причина в неумении правильно БД организовать, то это не оправдание, а на костылях типа вашего хотения далеко не уедешь....
зы. офтоп... недавно одна выпускница АСУ на вопрос какие БД вы знаете совершенно серьезно ответила - Excel)
 
Сверху