Я забув пароль Зареєструватись

Знатоки MySql подскажите... RSS

HONDA Бытовуха : HONDA Мобилки, компьютеры, интернет и софт

Добавить в Facebook Добавить в Twitter
#995786»06-02-2010 16:10Знатоки MySql подскажите...
+0
Вроде как элементарная задача, но сам решить не могу...

есть две табицы:
post (postid, threadid, parentid, username, userid, title)
и
thread(threadid, title, prefixid, firstpostid)

- надо скопировать значения поля thread.title в post.title согласно threadid ....
- threadid от 1 до 763, но не подряд а с промежутками - всего threadid 675 записей...
КАК?

Спасибо!
#995796»06-02-2010 17:27Знатоки MySql подскажите...
+0
update post, thread set thread.title=post.title where post.threadid = thread.threadid
В хороших фотоаппаратах, автомобилях, телефонах и форумах - всего пять букв.

Воинствующий скептик.
#995811»06-02-2010 18:30Знатоки MySql подскажите...
+0
_dem, да!!!
это оно, тллько немного поменять местами источник и приемник...
тупил в синтаксисе... лез в loop, а все намного проще..
Спасибо ОГРОМНОЕ!!
Можно еще с вопросами поприставать?  :)

Added after 23 minutes:

Помогите разобраться с кодировками БД...
Есть мой форумчик на vBulletin, БД в коировке cp1251... теперь по ряду причин хочу перейти на utf8 ..
Но при этом хочу знать - при переходе форума на utf8 - в БД в таблицах кирилица будет отображаться кирилицей или китайской грамотой..?
#995889»06-02-2010 22:01Знатоки MySql подскажите...
+0
Vetall, можно :)
Я, кстати, сначала правильно написал. Потом субботний конъяк заставил перечитать пост и исправить )

Как будет происходить переход форума (не силен в vBulletin) ?
В хороших фотоаппаратах, автомобилях, телефонах и форумах - всего пять букв.

Воинствующий скептик.
#995909»06-02-2010 22:45Знатоки MySql подскажите...
+0
_dem, ниче страшного, куча бэкапов и тесты на локалке..  :-) , главное что идея была именно та что надо, остальное сам подправил (все элементарно, но я уже пару лет отошел от рабо с БД, раньше чуть-чуть работал с ораклом и plsql (самоучка), а щас начал тупить...)
... переход возможен - делаю бекап базы в cp1251 и конверю ее UltraEdit в utf8 - НО в итоге кирилица оставалась кирилицей... а vbulletin в итоге отображал ее '?????????' ...
в итоге я запутался...
либо делал перегонку утилитой и получал работающий форум в utf8, но в базе кирилица была "китайской грамотой"...

- тогда я немогу править кирилический текст постов в базе ....
так и долно быть?
#995914»06-02-2010 22:59Знатоки MySql подскажите...
+0
Vetall, найди в php скрипте точку подключения к БД: mysql_connect(.....);
после неё добавь:
mysql_query("SET NAMES cp1251");
Если вы кого–то ненавидите не зная этих людей лично, значит это кому–то нужно.
#997705»11-02-2010 01:13Знатоки MySql подскажите...
+0
А как это ты в апдейте две таблицы рисуешь ?
Вставай со своей жопы
Кончай пить растворитель
К нам едет из Европы
Шива-разрушитель
#997733»11-02-2010 09:16Знатоки MySql подскажите...
+0
Все нормально, во всем разобрался... тока блин на трезвую надо все делать, а не под пивом/коньяком... :-)))
#1012898»10-03-2010 18:42Знатоки MySql подскажите...
+0
а мне поможете?? а то я что-то туплю безбожно..
в каком формате лучше хранить дату в таблицах mysql для того, чтобы по ней можно было сортировать.. потому что сейчас у меня она хранится в варчаре в виде дд.мм.гггг, но я понимаю что это не правильно и при этом я не могу по ней отсортировать..
#1012906»10-03-2010 18:49Знатоки MySql подскажите...
+0
RedLine,
date
#1012907»10-03-2010 18:51Знатоки MySql подскажите...
+0
sandro3, я вот только что сам нашел это и еще как ее конвертить в человеческий формат))) спасибо)))
#1012937»10-03-2010 20:04Знатоки MySql подскажите...
+0
RedLine, а чем ты её конвертишь? мусклем? Или аппликушными средствами?
Если есть гриб «груздь», то должен быть и гриб «радоздь».
#1012956»10-03-2010 20:25Знатоки MySql подскажите...
+0
chief39, мейби STR_TO_DATE(str,format)
Если вы кого–то ненавидите не зная этих людей лично, значит это кому–то нужно.
#1012974»10-03-2010 21:02Знатоки MySql подскажите...
+0
AlexWB,
Ну если речь шла о "конвертировании в человеческий формат", то DATE_FORMAT :)

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format

Например, чтобы вывести дату в формате 'dd.mm.yyyy' - пишем:
SELECT DATE_FORMAT(`date_col`, '%d.%m.%Y') FROM ...

Added after 7 minutes:

Ваванчег:А как это ты в апдейте две таблицы рисуешь ?

MySQL такое позволяет.
#1012985»10-03-2010 21:07Знатоки MySql подскажите...
+0
sandro3, если я правильно прочел условия, то у человека дата изначально хранилась в текстовом поле в виде дд.мм.гггг
эту строку нужно было конвертировать в формат date
потому и http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_str-to-date
Если вы кого–то ненавидите не зная этих людей лично, значит это кому–то нужно.
#1013066»10-03-2010 23:38Знатоки MySql подскажите...
+0
AlexWB:sandro3, если я правильно прочел условия, то у человека дата изначально хранилась в текстовом поле в виде дд.мм.гггг

так и есть)) но я собираюсь это исправить, чтобы мне было проще жить)))
chief39, мускулем))
sandro3, Сань, у меня просто есть одна особенность: я одупляюсь сам сразу же после того, как спрашиваю как это делать.. не важно успел ответить человек или нет))) я просто мускуль лет 6 не видел и не слышал, а тут пришлось не много взяться за старое))
#1013089»11-03-2010 00:40Знатоки MySql подскажите...
+0
а в чем проблема собственно ?

  сделать из текстового поля поле типа date ?
Вставай со своей жопы
Кончай пить растворитель
К нам едет из Европы
Шива-разрушитель
#1013096»11-03-2010 14:25Знатоки MySql подскажите...
+0
Ваванчег, та нету уже никаких проблем)) то я тупил сильно))) уже все порешал))

Added after 12 hours 16 minutes:

а есть какой нибудь способ при инсерте получить значение айди (оно у нас автоинкремент) без использования селекта сразу же после инсерта?? а то у меня чета не работает это..

Added after 27 minutes:

поставлю вопрос по другому.. если будет много юзеров, будет ли корректно работать select last_insert_id() ??

Added after 28 minutes:

и еще вопрос есть ли какая-то разница между last_insert_id() и mysql_insert_id() ?? и что лучше использовать??
#1013465»11-03-2010 15:17Знатоки MySql подскажите...
+0
Вот проблем-то, в Оракле сделал returning и забыл )

http://bytes.com/topic/php/answers/2994-php-mysql-returning-id-when-new-record-made
Вставай со своей жопы
Кончай пить растворитель
К нам едет из Европы
Шива-разрушитель
#1013488»11-03-2010 15:35Знатоки MySql подскажите...
+0
Предлагаю добавить подразделы Oracle, MySql, J2EE  Very Happy
Если есть гриб «груздь», то должен быть и гриб «радоздь».
#1013697»11-03-2010 23:56Знатоки MySql подскажите...
+0
а вот теперь у меня дейтвительно проблема..
уже 3 часа пытаюсь понять, как можно получить номер строки в выборке..
мне нужно сделать выборку и отсортировать ее по 2ум полям - по статусу и по дате.. и мне нужно зная id записи как-нибудь получить id записей, которые будут в этой же отсортированной выборке до и после записи с известным id.. если я получу номер строки в выборки, то я смогу с помощью mysql_data_seek перейти на нужные мне записи..
как??
#1013701»12-03-2010 00:12Знатоки MySql подскажите...
+0
RedLine, ты логическую структуру БД сам создавал, с нуля?
Если вы кого–то ненавидите не зная этих людей лично, значит это кому–то нужно.
#1013703»12-03-2010 00:16Знатоки MySql подскажите...
+0
AlexWB:RedLine, ты логическую структуру БД сам создавал, с нуля?

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

Added after 1 minutes:

ну и можно что-то еще поменять, если нужно..
#1013713»12-03-2010 00:32Знатоки MySql подскажите...
+0
RedLine, после прочтения условий (из текста которых я так и не понял что же в конечном итоге нужно) создается впечатление, что в таблицах не хватает полей для нормальной организации логической связи, которую ты пытаешься заменить извращением с прыжками по выборкам
Если вы кого–то ненавидите не зная этих людей лично, значит это кому–то нужно.
#1013714»12-03-2010 00:43Знатоки MySql подскажите...
+0
AlexWB, попробую объяснить))
у меня есть таблица post(id, userid, catid, title, text, date, status) статус может иметь значения 0, 1 или 2, со всеми остальными полями думаю понятно.. так вот у меня есть выборка типа select id, userid, title, text, date_format(date, '%e.%m.%Y') as cdate from post where catid=".$catid." order by status desc, date desc
так вот мне нужно было узнать как можно получить из этой выборки id расположеные до и после одного выбранного id..
ну и я как бы уже нашел решение:
set (a)pos:=0;
select id, position from (select *, (a)pos:=(a)pos+1 as position from post where catid=1 order by status desc, date desc) as positioned where id=143;
вот и оно вернуло номер нужной мне записи)) ну а предыдущю и следущую я уже буду получать с помощью mysql_data_seek.. в общем как-то так))

Форум : HONDA Бытовуха : HONDA Мобилки, компьютеры, интернет и софт