Создаю две таблицы: CREATE TABLE subject ( subject_id INT UNSIGNED NOT NULL AUTO_INCREMENT, subject_name VARCHAR(40) DEFAULT '' NOT NULL, PRIMARY KEY (subject_id,subject_name) ); CREATE TABLE resubject ( subject_id INT UNSIGNED NOT NULL, resubject_name VARCHAR(40) DEFAULT '' NOT NULL, osnovanie VARCHAR(200) DEFAULT '' NOT NULL, prichina VARCHAR(200) DEFAULT '' NOT NULL ); Пусть есть форма где вводятся значения, потом эти значения заносим в таблицы $sth = $this->{dbh} -> prepare("INSERT INTO subject ( subject_name) VALUES ( '$mchs_data_in->{'name'}')"); $sth ->execute(); Так вот собственно вопрос - как мне узнать subject_id после этой операции, для второй таблици, может быть много одинаковых subject_name. В голову приходит только: $sth = $this->{dbh} -> prepare("SELECT subject_name, subject_id FROM subject WHERE ( subject_name = 'data_in->{'name'}') ORDER BY subject_id LIMIT 1"); $sth ->execute(); Но это кажется как-то не правильно. Для примера привел только две таблици, на самом деле их 10.
Ответ на:
комментарий
от phoenix
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум MyQSL (2005)
- Форум mysql запрос (2007)
- Форум [sql] [mysql] Помогите составить запрос (2010)
- Форум [mysql] Чудо (2010)
- Форум Ключи MySQL (2015)
- Форум Ошибка создания таблицы в БД (2009)
- Форум 1:n relationship (2018)
- Форум MySQL, ошибка 150. (2013)
- Форум SQL+PHP (2010)
- Форум netstat (2007)