Дублирование записи

DV

Guest
Дублирование записи

А если мне надо продублировать новость при её сохранении в два разных раздела, нужно делать 2 раза insert или это можно сделать одним?
 

Найч

Алгоритмик :-)
Спроектируй базу так, чтобы _не было_ дублирования данных. То, что ты делаешь, не есть хорошо в принципе.
А по вопросу - не нужно тебе это (с) :) Если все же очень хочешь - то два запроса
 

DV

Guest
Спроектируй базу так, чтобы _не было_ дублирования данных. То, что ты делаешь, не есть хорошо в принципе.
А по вопросу - не нужно тебе это (с) :) Если все же очень хочешь - то два запроса
Как? Одна будет обязательно удаляться в конце дня.
 

Макс

Старожил PHPClub
DV
а почему в конце дня одна будет удаляться ?

Вообще добавление "записи" в 2 (и более) раздела делаются через дополнительную таблицу:
categories: cat_id | title - таблица категорий
records : record_id | title - таблица твоих записей (например новости)
records_categories: cat_id | record_id - здесь храним, в каких разделах хранится та или иная запись (новость)
 

Найч

Алгоритмик :-)
DV
Я, конечно, не могу так вот взять и показать конструкцию, которая подходит твоей задумке, но судя по последней твоей фразе я представил все это дело так. Одна таблица у тебя служит для сегодняшних новостей, вторая - для архива. Если нагрузки не критичны, то неплохо было бы держать все в одной таблице, и по соответствующим запросам легко получается показывать данные за любой промежуток времени.
 

DV

Guest
Одна таблица у тебя служит для сегодняшних новостей, вторая - для архива. Если нагрузки не критичны, то неплохо было бы держать все в одной таблице, и по соответствующим запросам легко получается показывать данные за любой промежуток времени.
Она одна и есть. :)


Maxim Matyukhin
а почему в конце дня одна будет удаляться ?
Потому что "молния", она живёт несколько часов или сутки.;)
 

Demiurg

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

DV

Guest
Demiurg
Это нужно для облегчения работы редактора. Он сразу выбирает где эта "молния" останется. Это можно делать переносом, но это лишние движения.
;)
 

Demiurg

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

Demiurg

Guest
DV
ты скажи, сколько новости у тебя держатся, подробнее объясню.
 

DV

Guest
По разному, она может быть "горячей" и до конца текущих суток, так и поменяться несколько раз за день. Всё зависит от настроения редактора.:)
 

Demiurg

Guest
время жизни новости не зависит от того, меняется ли она или нет. В базе есть поле "настроение редактора" ?
 

Найч

Алгоритмик :-)
DV
Почему бы тебе просто не показать структуру своей таблицы? Тебе сразу же скажут - где, что и как.
 

DV

Guest
А можно одним запросом отчистить весть столбец в таблице? Я решил сделать для «молнии» просто отдельный столбец в таблице, если будет on – будет показывать, нет – нет. :)
А сделать хочу отдельную кнопку, которая будет отчищать этот столбец.
 

Найч

Алгоритмик :-)
DV
[sql]
update my_table set my_column=0 where my_column!=0
[/sql]
А ты собрался вручную кнопочку жать для перевода "молний" в архив?
 

DV

Guest
Найч
А ты собрался вручную кнопочку жать для перевода "молний" в архив?
Нет, структура таблицы такова id, раздел, дата, время, заголовок, новость, тыры-пыры...:) и molniya.
При редактировании или введении новости будет галочка - делать эту новость ещё и молнией? Если галка будет - в поле molniya будет - on. И соответственно при выводе страницы раздел молния просматривает поле molniya, если там есть on - выводить новость - получится одна новость на два раздела.;) Может я что-то по-чайниковски перемудрил или наоборот..??

У меня ещё один вопрос, а как потом сделать, чтобы в просмотре списка новостей (в редакторе) новость, помеченная ещё и как молния, помечалась, простите за каламбур, каким-нибудь символом?
 

Найч

Алгоритмик :-)
DV
Ты сам ответил на свой вопрос. Помечать-то ты будешь уже при выводе. А как ты узнаешь, что это - "молния"? Помотришь в соответствющее поле. И если там не ноль, то _при выводе_ делаешь все, что душа желает.
По правде говоря, я думаю, что ты просто запутался в том, что надо хранить, а что добавлять уже при выводе. Расслабься, выпей кофе, отложи эту ерунду на денек и сходи погуляй :) И на свежую голову у тебя все получиться.
 

DV

Guest
Найч
Всё сделал. Всем спасибо! Единственное что не знал - как отчистить всю колонку, Вы помогли.;)

-~{}~ 24.03.04 22:44:

update my_table set my_column=0 where my_column!=0
А как записать по нескольким колонкам? Например, очистить my_column и my_column2?:)
 

Nime

Guest
Почитать документацию по UPDATE :)

Кстати, where в данном случае не нужен - всё равно всё обнуляешь.
 
Сверху