Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> добавить запись в таблицу1, если значения нет , среди записей таблицы2 
V
    Опции темы
everyone
  Дата 3.10.2010, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 24.3.2004

Репутация: нет
Всего: 4



Есть две таблицы.
Поле table1 - uid(int, primary key)
Поля table2 - uid(int, primary key), points(int, default value=0)
Необходимо добавить в table2 строки с uid, который(uid идентификатор) есть в table1.uid, но в table2.uid ещё нет.

INSERT INTO table2 (uid) SELECT uid FROM table1
Заполняет пустую таблицу, но если поля уже есть, ничего, конечно не работает

но не знаю, какое и где указать условие - NOT EXISTS, WHERE, ON...

и посоветуйте, что-нибудь почитать по логике запросов, выражений в SQL/MySQL.
--------------------
Что написал, то написал (Пилат)
PM ICQ Skype   Вверх
Данкинг
Дата 3.10.2010, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 1
Всего: 130



Сильно примерно:
Код

INSERT INTO table2 (uid) SELECT uid FROM table1 where table2.uid not in (select uid from table1)



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
everyone
  Дата 3.10.2010, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 24.3.2004

Репутация: нет
Всего: 4



так получилось:

Код

INSERT INTO table2 (uid) SELECT u.uid from table1 u LEFT OUTER JOIN table2 p ON u.uid = p.uid WHERE p.uid is null


)

Это сообщение отредактировал(а) everyone - 3.10.2010, 15:39
--------------------
Что написал, то написал (Пилат)
PM ICQ Skype   Вверх
Zloxa
Дата 3.10.2010, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 53
Всего: 161



Зачем предотвращать ошибку?
Почему ее нельзя просто проигнорировать?


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
everyone
  Дата 3.10.2010, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 24.3.2004

Репутация: нет
Всего: 4



Zloxa, 
Цитата

Зачем предотвращать ошибку?
Почему ее нельзя просто проигнорировать? 


Ну, потому что несложно предотвратить ошибку

кроме того CMS, с которой я работаю, выведет ошибки в лог на самое видное место) не то, чтобы и это нельзя проигнорировать, или вставить костыль

это отдельная тема на самом деле - игнорирование ошибок. Может и стоит это обсудить. Иногда я оставляю некритичные ошибки под вечным @TODO.

если я вообще верно понял, о чём речь)
--------------------
Что написал, то написал (Пилат)
PM ICQ Skype   Вверх
Zloxa
Дата 4.10.2010, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 53
Всего: 161



Прошу прощения, в прошлый раз не правильно понял суть проблемы.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
A5uKa
  Дата 4.10.2010, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: нет
Всего: 16



А uid не автоинкрементируемое поле ?
PM   Вверх
everyone
  Дата 4.10.2010, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 24.3.2004

Репутация: нет
Всего: 4



Цитата

A5uKa, 
А uid не автоинкрементируемое поле ? 

В table1 да, в table2 нет
--------------------
Что написал, то написал (Пилат)
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0468 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.