![]() |
|
Модераторы: skyboy |
![]()
|
|
| HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: 3 Всего: 42 |
Можно ли сделать одним выражением? Потому что использовать два запроса и одно условие не охота. Нельзя ли сделать что-то типа UPDATE IF (запись существует) ELSE INSERT?
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 1 Всего: 207 |
В SQL Server можно примерно так:
If (Select count(*) from ... Where ...)=0 Insert ... else Update ... Для MySQL скорее всего тоже можно но конкретный синтаксис надо смотреть в хэлпе, в некоторых базах есть ещё оператор Exists... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
По моему проще сделать так:
IF <поиск по индексу> then Update ... else Insert ... -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: 3 Всего: 42 |
Vit, Cashey, там же русским языком написано MySQL!
|
|||
|
||||
| HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: 3 Всего: 42 |
Оператор exists есть, но он кажется только проверяет наличее таблицы. Есть if но он может только возвращать значения, а мне надо, чтоб выполнялось то либо иное действие.
|
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 6 Всего: 39 |
HalkaR Я так думаю придётся ждать новой версии MySQL. Они всё обещают сделать вложеные запросы и прочие удобности
|
|||
|
||||
| Гость |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 15.11.2003 Репутация: нет Всего: 2 |
http://www.mysql.com/doc/en/INSERT.html
ON DUPLICATE KEY (new in MySQL 4.1.0) например mysql> INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1; может поможет. |
|||
|
||||
| Dimetrius |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 12.1.2004 Репутация: нет Всего: 1 |
если я правильно понял, тебе нужен REPLACE.
Синтакс как у INSERT, только, прежде чем вставить, старая запись удаляется (если такая сушествует) |
|||
|
||||
| GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: 2 Всего: 83 |
||||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |