The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Добавление записи в MySQL"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Добавление записи в MySQL"  
Сообщение от Гость on 25-Дек-07, 13:37 
Всем привет.
Исходные данные:
Есть две таблицы users и hosts.
Имена колонок таблицы users: id_users и name_users;
Имена колонок таблицы hosts: id_users и name_hosts;

Вопрос:
Как вставить одним запросом к MySQL строку в таблицы hosts и users, с связкой по id_users?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Добавление записи в MySQL"  
Сообщение от Slimm (??) on 25-Дек-07, 16:34 
>Всем привет.
>Исходные данные:
>Есть две таблицы users и hosts.
>Имена колонок таблицы users: id_users и name_users;
>Имена колонок таблицы hosts: id_users и name_hosts;
>
>Вопрос:
>Как вставить одним запросом к MySQL строку в таблицы hosts и users,
>с связкой по id_users?

либо два INSERT-a
либо хранимая процедура в которой вообщем-то два INSERT-a ...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Добавление записи в MySQL"  
Сообщение от Гость on 25-Дек-07, 18:27 
По подробнее можно ?

Просто надо чтобы в таблице users не повторялись name_users. Т.е. по ссути мне нужно чтобы если нет добавляемого имени в name_users, то оно добавлялось, инче присваивался id существующей записи. (чтобы присваивался id в таблицу hosts).

Так то есть вариант:
Использовать INSERT, которое даст ошибку ввода в таблицу users, если name_users существует. Потом вызвать SELECT с поиском в таблице users необходимого имени, сохранив значение id_users в какой нибудь переменной. А потом уже использовать INSERT в таблицу hosts, полученного занчения id_users.

Просто вот задумался, может есть вариант проще ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Добавление записи в MySQL"  
Сообщение от angra (ok) on 26-Дек-07, 01:44 
Странный у вас подход. обычно сначала проверяем через select, а уже потом если ничего не найдено делаем insert. Для получения значения автоинкрементного поля после инсерта используем LAST_INSERT_ID().
А вообще можно конечно глянуть на INSERT ... ON DUPLICATE KEY UPDATE и REPLACE, может по условиям задачи они подойдут.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру