[mysql] как автоматом менять записи на основе других записей?
Хммм. Ботай триггера и хранимые процедуры. Вроде в последних версиях была поддержка.
нормально, только у меня 4.1
переставлять пока лень, попробую чего-нибудь еще придумать. пасибо
переставлять пока лень, попробую чего-нибудь еще придумать. пасибо
Опиши задачу. Странная постановка, если честно.
задача как всегда дурацкая. 
например, майский номер журнала — 116-117. в базе майский хранится под номером 117.
надо чтоб если пользователь захочет увидеть номер 116, ему показали номер 117.
способов то много, мне просто показалось, что проще всего устроить такую "подмену" прямо в базе.
опять же, мне-то проще и логичней сделать обработчик ошибки, тем более, что номера 116 как бы не существует.
но начальство настаивает на том, что 116 номер все-таки есть в природе и его как бы тоже можно посмотреть.
такие дела

например, майский номер журнала — 116-117. в базе майский хранится под номером 117.
надо чтоб если пользователь захочет увидеть номер 116, ему показали номер 117.
способов то много, мне просто показалось, что проще всего устроить такую "подмену" прямо в базе.
опять же, мне-то проще и логичней сделать обработчик ошибки, тем более, что номера 116 как бы не существует.
но начальство настаивает на том, что 116 номер все-таки есть в природе и его как бы тоже можно посмотреть.
такие дела

опять же, мне-то проще и логичней сделать обработчик ошибки, тем более, что номера 116 как бы не существует.Тот способ, который ты хочешь реализовать, откровенно крив. Сделай иначе, через ссылки, когда есть внутренние идентификаторы у журналов, есть таблица обычных номеров, в которой и прописано соответствие между номером журнала и ссылкой на данные номера журнала. Это типовое решение, и imho, единственно верное в данной ситуации.
но начальство настаивает на том, что 116 номер все-таки есть в природе и его как бы тоже можно посмотреть.
я наверное таблицу соответствий какую-нибудь сделаю.
116 | 117
110 | 111
109 | 111
...
и буду проверять номер из GET сначала на наличие в ней, а уж потом переходить от нее к главной.
116 | 117
110 | 111
109 | 111
...
и буду проверять номер из GET сначала на наличие в ней, а уж потом переходить от нее к главной.
ну я написал ниже. так?)
да. Странно, что ты не написал это раньше...
да мне просто интересно было, есть ли такая фича в mysql 
вот узнал про хранимые процедуры. такие дела.

вот узнал про хранимые процедуры. такие дела.
А нафига таблица, если судя по всему у тебя простой способ определения - то тебе надо просто найти в таблице минимальный номер, который больше или равен введеному - ну что то типа того
SELECT MIN (столбец_номер_журнала) FROM таблица_журналов WHERE столбец_номер_журнала >= значение_запрашиваемое_пользователем
гениально! 
надо будет наверное так и сделать. спасибо.

надо будет наверное так и сделать. спасибо.
хотя нет. это придется два раза дёргать "большую" базу.
а в предыдущем способе — один раз маленькую и один раз большую.
впрочем, база не такая уж и большая, зато идея забавная и сразу в голову не пришла.
а в предыдущем способе — один раз маленькую и один раз большую.
впрочем, база не такая уж и большая, зато идея забавная и сразу в голову не пришла.

Через mod_rewrite не хочешь сделать? вообще базу дергать не придется 

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

к тому же если добавить новый журнал с пропуском номера, то придется добавлять правило.
а это имхо не очень удобно.
Во-первых, надо один раз собрать нормально - и не париться, к тому же тебе когда-то придется это сделать в угоду продвижению 
Во-вторых, если ты считаешь, что постоянный лишний перезапрос базы (при каждом реквесте! ктока бишь у тебя там посетителей-то в день?) - это лучше, чем раз в полгода дописать одно правило в htaccess - то... думаю, ты ошибаешься
В конце концов - сделай веб-админку htaccess

Во-вторых, если ты считаешь, что постоянный лишний перезапрос базы (при каждом реквесте! ктока бишь у тебя там посетителей-то в день?) - это лучше, чем раз в полгода дописать одно правило в htaccess - то... думаю, ты ошибаешься

В конце концов - сделай веб-админку htaccess

гыгы. 


к тому же тебе когда-то придется это сделать в угоду продвижениюкстати, есть ли какой-нибудь качественный пример, чтобы я сразу понял, что мне здесь и сейчас нужен mod_rewrite?

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

Оставить комментарий
slonishka
можно ли как-то для строки: "1 | blabla | blabla" сделать строку "2 | blabla | blabla" в той же таблице такую, что при любом изменении первой строки (кроме изменения записи в первом столбце вторая строка изменялась бы аналогичным образом?