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

Форум MySQL

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

 

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

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

тема: update в две таблицы одновременно
 
 автор: lilu   (12.02.2007 в 13:21)   письмо автору
 
 

Надо добавить запись в таблицы, кот. связаны между собой по одному полю, например,
есть таблица student и таблица fakultet,
таблица student с полями:
id_st, name, age, kurs (id_st - auto increment)
таблица fakultet с полями
id_st, name_f, predm и т.д.
т.е. должно быть одновременно занесение в обе таблицы и конечно в обоих таблицах id_st - одинаков, Как запрос такой сотворить?

   
 
 автор: Trianon   (12.02.2007 в 13:28)   письмо автору
 
   для: lilu   (12.02.2007 в 13:21)
 

1. Добавление в ту таблицу, где поле формируется по autoincrement
2. Получение добавленного ключа через mysql_insert_id()
3. Добавление во вторую таблицу строки с явно указанным ключом.

PS. Что делает id_st в таблице fakultet - непонятно.

   
 
 автор: lilu   (12.02.2007 в 13:38)   письмо автору
 
   для: Trianon   (12.02.2007 в 13:28)
 

это просто пример....
пункт 1 понятен, 3-ий - тоже, а вот второй?

   
 
 автор: Trianon   (12.02.2007 в 13:46)   письмо автору
 
   для: lilu   (12.02.2007 в 13:38)
 

пункт 2:
$id_st = mysql_insert_id();

пункт 3:
mysql_query("INSERT INTO fakultet (id_st, name_f, predm) VALUES($id_st, '$name_f', '$predm')");

   
 
 автор: lilu   (12.02.2007 в 15:46)   письмо автору
 
   для: Trianon   (12.02.2007 в 13:46)
 

выполнила
<?
mysql_query
("INSERT INTO student( name, age, kurs) VALUES('ivanov', '1984', '5')"); 
$id_st mysql_insert_id(); 
$rez=mysql_query("INSERT INTO fakultet (id_st, name_f, predm) VALUES($id_st, 'econom', 'market')"); 
if(
$rez){echo "ok";}else{echo "problem";}
?>

в базу ничего не пишет
оставляю первую строку - то заносит в базу student,
а в обе таблицы - никак - что не так?

   
 
 автор: Trianon   (12.02.2007 в 16:13)   письмо автору
 
   для: lilu   (12.02.2007 в 15:46)
 


if($rez) echo "ok"; else echo mysql_error();

иначе не понять, что происходит.

Также неплохо было бы, чтобы вы показали структуры таблиц и хотя бы приблизительно описали, что они хнанят. Первая - описания студентов, это ясно. А вот вторая-то что?

   
 
 автор: lilu   (12.02.2007 в 16:33)   письмо автору
 
   для: Trianon   (12.02.2007 в 16:13)
 

else echo mysql_error();
помогло - нашла ошибку, спасиб - всё супер!!!!!!!!!!!!!!!!!!

   
 
 автор: cheops   (12.02.2007 в 13:30)   письмо автору
 
   для: lilu   (12.02.2007 в 13:21)
 

Хм... вы вставляете записи при помощи оператора INSERT или обновляете их при помощи оператора UPDATE?

   
 
 автор: lilu   (12.02.2007 в 13:39)   письмо автору
 
   для: cheops   (12.02.2007 в 13:30)
 

пробовала insert - не помогло, попробую update

   
Rambler's Top100
вверх

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