![]() |
|
Модераторы: skyboy |
![]()
|
|
| korob2001 |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: нет Всего: 61 |
Привет!!!
У меня такой вопрос: Есть 3 таблицы:
Первая содержит имена пользователей, вторая имена изображений стандартной галереи, третья содержит id пользователя и имя файла, которое выбрал себе пользователь, так же есть две переменные:
Так же прошу обратить внимание на то, что в таблице UsersPhotos поле Id не является PRIMARY KEY. Мне необходимо построить такой запрос: Если в таблице UsersPhotos есть запись с Id равным $user_id, тогда выполнить UPDATE, если же записи с таким Id нет, выполнить INSERT. Решил сделать так: 1. Пытаюсь выполнить UPDATE. 2. Если выполнить первый пункт не удалось, значит записи нет с таким Id и выполняю INSERT. C INSERT вроде разобрался:
Правда я пока не уверен в его правильности. Проблема с запросом на UPDATE, можно было бы конечно сначала SELECT'ом выбрать имя файла из таблицы StandardLib, а затем написать запрос такого плана:
Где переменная $newpath равна пути, который соответствует $new_ph. Но мне почему-то кажется, что всю эту байду можно объединить в один запрос, я имею ввиду SELECT и UPDATE, т.е. примерно так:
Но, что-то нифига не работает, что-то я совсем запутался. Подскажите, где ошибки? Спасибо. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||||||
|
|||||||||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 5 Всего: 53 |
по-моему, потому что внутренний select может возвратить не одно значение.. может попробовать поставить: limit 1 |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: нет Всего: 61 |
Спасибо.
Пробую написать так:
Но таким образом отказывается работать, пишет: Ошибка в sql запросе. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |