Создаю две таблицы:
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.
Форум —
Development
