Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2012, 00:28   #1
Russel32
 
Регистрация: 21.01.2012
Сообщений: 7
Вопрос Как согласовать ввод данных в БД ?

Например имеются три таблицы:
IMAGE(IMAGE_ID,IMAGE)
TEXT(TEXT_ID,TEXT)
ARTICLE(TEXT_ID,IMAGE_ID,KEYWORDS)
Можно ли как нибудь согласованно ввести информацию из формы в три таблицы? Я слышал, что можно использовать функцию LAST_INSERT_ID();
А как нибудь иначе можно сделать, чтобы они автоматически согласовывались? Зачем используют FOREIGN KEY (...) REFERENCES (...)?
Russel32 вне форума Ответить с цитированием
Старый 24.01.2012, 01:14   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Прийдется LAST_INSERT_ID использовать. FOREIGN KEY и прочее СУБД в данном случае использует для контроля правильности редактирования информации в таблицах и только.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.01.2012, 01:19   #3
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

А что значит согласованно? И чем LAST_INSERT_ID() не устраивает ? Записали, сохранили image_id, потом text_id и вписали все это потом в article . При чем я бы это сделал в хранимой процедуре, получится один запрос, чего вы наверное и добиваетесь.
А foreign key служит для сохранения целостности данных и связей между таблицами + индексация при поиске
Cronos20 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в StringGrid в определённом столбце сделать ввод данных по маске iKarma Общие вопросы Delphi 4 23.11.2011 22:47
Как реализовать ручной ввод данных? maxim43k Помощь студентам 5 07.09.2011 22:49
Как заблокировать ввод данных в ячейки? parsn Microsoft Office Excel 7 11.01.2010 17:43
Как в C++ организовать ввод данных в одну строчку? amdbodia Общие вопросы C/C++ 10 16.05.2009 18:03
как узнать с какого устройства идет ввод данных keg Win Api 5 20.07.2007 10:50