Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Связь 2 таблиц
 
 автор: andrewost   (21.06.2009 в 09:56)   письмо автору
 
 

Доброго времени суток. У меня такая проблема - есть таблица, в которой хранятся статьи, я хочу добавлять коментарии каждой, они будут хранится в другой таблице. Как связать эти таблицы?

  Ответить  
 
 автор: Valick   (21.06.2009 в 10:04)   письмо автору
 
   для: andrewost   (21.06.2009 в 09:56)
 

делайте вторую таблицу
id_com | id_st | comment | autor | datetime

связь с первой таблицей по id_st (идентификатор статьи)

  Ответить  
 
 автор: andrewost   (21.06.2009 в 10:45)   письмо автору
 
   для: Valick   (21.06.2009 в 10:04)
 

А в первой таблице - PRIMARY KEY(id_st )?

  Ответить  
 
 автор: Valick   (21.06.2009 в 12:05)   письмо автору
 
   для: andrewost   (21.06.2009 в 10:45)
 

да, и всенепременно с автоикрементом.

  Ответить  
 
 автор: andrewost   (21.06.2009 в 12:48)   письмо автору
 
   для: Valick   (21.06.2009 в 12:05)
 

Возникла следущая проблема:
я создал вторую таблицу так

create table `table`(
id_st int, // id статьи в первой таблице
id int not null auto_increment,
comment text,
autor text,
datetime text,
primary key(id)
);

Далее делаю запрос

UPDATE `table` SET name="value",city="value",comment="value",datetime="value" WHERE id_st="3";

в шелле пишет Query Ok (ошибок нет), но ячейка остается пустой! Я предполагаю, что причина в WHERE id_st="3", так как id_st=3 не существует. Как можно решить проблему?

  Ответить  
 
 автор: Valick(я)   (21.06.2009 в 13:12)
 
   для: andrewost   (21.06.2009 в 12:48)
 

Ну если id_st=3 не существует, тогда что Вы пытаетесь обновить?

  Ответить  
 
 автор: andrewost   (21.06.2009 в 13:19)   письмо автору
 
   для: Valick(я)   (21.06.2009 в 13:12)
 

id_st=3 - это id статьи в первой таблице ( она существует), а коментарий надо добавить во вторую, где id_st=3

  Ответить  
 
 автор: Valick(R)   (21.06.2009 в 13:34)
 
   для: andrewost   (21.06.2009 в 13:19)
 

INSERT `comments` VALUES(3,NULL,$coment,$autor,NOW());

  Ответить  
 
 автор: Valick(R)   (21.06.2009 в 13:37)
 
   для: Valick(R)   (21.06.2009 в 13:34)
 

и поле datetime должно иметь формат DATETIME, а не TEXT
да и примари кей я бы перенёс в первое поле.. так привычнее

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования