Вроде как элементарная задача, но сам решить не могу...
есть две табицы:
post (postid, threadid, parentid, username, userid, title)
и
thread(threadid, title, prefixid, firstpostid)
- надо скопировать значения поля thread.title в post.title согласно threadid ....
- threadid от 1 до 763, но не подряд а с промежутками - всего threadid 675 записей...
КАК?
Спасибо!
Знатоки MySql подскажите...
HONDA Бытовуха : HONDA Мобилки, компьютеры, интернет и софт
|
update post, thread set thread.title=post.title where post.threadid = thread.threadid
В хороших фотоаппаратах, автомобилях, телефонах и форумах - всего пять букв.
Воинствующий скептик. |
_dem, да!!!
это оно, тллько немного поменять местами источник и приемник... тупил в синтаксисе... лез в loop, а все намного проще.. Спасибо ОГРОМНОЕ!! Можно еще с вопросами поприставать? Added after 23 minutes: Помогите разобраться с кодировками БД... Есть мой форумчик на vBulletin, БД в коировке cp1251... теперь по ряду причин хочу перейти на utf8 .. Но при этом хочу знать - при переходе форума на utf8 - в БД в таблицах кирилица будет отображаться кирилицей или китайской грамотой..? |
Vetall, можно
Я, кстати, сначала правильно написал. Потом субботний конъяк заставил перечитать пост и исправить ) Как будет происходить переход форума (не силен в vBulletin) ? В хороших фотоаппаратах, автомобилях, телефонах и форумах - всего пять букв.
Воинствующий скептик. |
_dem, ниче страшного, куча бэкапов и тесты на локалке.. , главное что идея была именно та что надо, остальное сам подправил (все элементарно, но я уже пару лет отошел от рабо с БД, раньше чуть-чуть работал с ораклом и plsql (самоучка), а щас начал тупить...)
... переход возможен - делаю бекап базы в cp1251 и конверю ее UltraEdit в utf8 - НО в итоге кирилица оставалась кирилицей... а vbulletin в итоге отображал ее '?????????' ... в итоге я запутался... либо делал перегонку утилитой и получал работающий форум в utf8, но в базе кирилица была "китайской грамотой"... - тогда я немогу править кирилический текст постов в базе .... так и долно быть? |
Vetall, найди в php скрипте точку подключения к БД: mysql_connect(.....);
после неё добавь: mysql_query("SET NAMES cp1251"); Если вы кого–то ненавидите не зная этих людей лично, значит это кому–то нужно. |
А как это ты в апдейте две таблицы рисуешь ?
Вставай со своей жопы
Кончай пить растворитель К нам едет из Европы Шива-разрушитель |
Все нормально, во всем разобрался... тока блин на трезвую надо все делать, а не под пивом/коньяком... ))
|
а мне поможете?? а то я что-то туплю безбожно..
в каком формате лучше хранить дату в таблицах mysql для того, чтобы по ней можно было сортировать.. потому что сейчас у меня она хранится в варчаре в виде дд.мм.гггг, но я понимаю что это не правильно и при этом я не могу по ней отсортировать.. |
RedLine,
date |
sandro3, я вот только что сам нашел это и еще как ее конвертить в человеческий формат))) спасибо)))
|
RedLine, а чем ты её конвертишь? мусклем? Или аппликушными средствами?
Если есть гриб «груздь», то должен быть и гриб «радоздь». |
chief39, мейби STR_TO_DATE(str,format)
Если вы кого–то ненавидите не зная этих людей лично, значит это кому–то нужно. |
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 такое позволяет. |
sandro3, если я правильно прочел условия, то у человека дата изначально хранилась в текстовом поле в виде дд.мм.гггг
эту строку нужно было конвертировать в формат date потому и http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_str-to-date Если вы кого–то ненавидите не зная этих людей лично, значит это кому–то нужно. |
AlexWB:sandro3, если я правильно прочел условия, то у человека дата изначально хранилась в текстовом поле в виде дд.мм.гггг
так и есть)) но я собираюсь это исправить, чтобы мне было проще жить))) chief39, мускулем)) sandro3, Сань, у меня просто есть одна особенность: я одупляюсь сам сразу же после того, как спрашиваю как это делать.. не важно успел ответить человек или нет))) я просто мускуль лет 6 не видел и не слышал, а тут пришлось не много взяться за старое)) |
а в чем проблема собственно ?
сделать из текстового поля поле типа date ? Вставай со своей жопы
Кончай пить растворитель К нам едет из Европы Шива-разрушитель |
Ваванчег, та нету уже никаких проблем)) то я тупил сильно))) уже все порешал))
Added after 12 hours 16 minutes: а есть какой нибудь способ при инсерте получить значение айди (оно у нас автоинкремент) без использования селекта сразу же после инсерта?? а то у меня чета не работает это.. Added after 27 minutes: поставлю вопрос по другому.. если будет много юзеров, будет ли корректно работать select last_insert_id() ?? Added after 28 minutes: и еще вопрос есть ли какая-то разница между last_insert_id() и mysql_insert_id() ?? и что лучше использовать?? |
Вот проблем-то, в Оракле сделал returning и забыл )
http://bytes.com/topic/php/answers/2994-php-mysql-returning-id-when-new-record-made Вставай со своей жопы
Кончай пить растворитель К нам едет из Европы Шива-разрушитель |
Предлагаю добавить подразделы Oracle, MySql, J2EE
Если есть гриб «груздь», то должен быть и гриб «радоздь». |
а вот теперь у меня дейтвительно проблема..
уже 3 часа пытаюсь понять, как можно получить номер строки в выборке.. мне нужно сделать выборку и отсортировать ее по 2ум полям - по статусу и по дате.. и мне нужно зная id записи как-нибудь получить id записей, которые будут в этой же отсортированной выборке до и после записи с известным id.. если я получу номер строки в выборки, то я смогу с помощью mysql_data_seek перейти на нужные мне записи.. как?? |
RedLine, ты логическую структуру БД сам создавал, с нуля?
Если вы кого–то ненавидите не зная этих людей лично, значит это кому–то нужно. |
AlexWB:RedLine, ты логическую структуру БД сам создавал, с нуля?
не совсем понял о чем ты, но судя по всему нет.. только некоторые изменения вносил.. Added after 1 minutes: ну и можно что-то еще поменять, если нужно.. |
RedLine, после прочтения условий (из текста которых я так и не понял что же в конечном итоге нужно) создается впечатление, что в таблицах не хватает полей для нормальной организации логической связи, которую ты пытаешься заменить извращением с прыжками по выборкам
Если вы кого–то ненавидите не зная этих людей лично, значит это кому–то нужно. |
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 Мобилки, компьютеры, интернет и софт
Кращі теми
smarty: У кого какие часы?
Yura_777: Какой сериал смотреть
littlebo: Моя боянчег тапочек, моя ракета ))