[решено] Получить ID последней строки добавленной в БД MySQL

Аватара пользователя
ssdm

[решено] Получить ID последней строки добавленной в БД MySQL

Сообщение ssdm »

Добрый день.

Есть 4 -ре таблицы :


Цитата:



mysql> create table contacts

-> (id int primary key auto_increment,

-> caption char(63)

-> );

Query OK, 0 rows affected (0.45 sec)



mysql> create table tel_fax

-> (id int primary key auto_increment,

-> cid int,

-> telefon char(25),

-> type int);

Query OK, 0 rows affected (0.08 sec)



mysql> create table address

-> (id int primary key auto_increment,

-> cid int,

-> adrress char(255));

Query OK, 0 rows affected (0.08 sec)



mysql> create table mails

-> (id int primary key auto_increment,

-> cid int,

-> email char(63),

-> name char(63));



В таблице tel_fax, address,mails поле cid соответствует полю id в таблице contacts.

Добавляю запись в таблицу:

sqlquery("INSERT into contacts values (NULL,".$URL->GET['name'].");

Вопрос: каким образом можно добавить(желательно средствами mysql) записи в таблицы tel_fax, address,mails , так что бы cid в этих таблицаx равнялся contacts.id? (Так как contacts.id изменяется автоматически, то понятное дело явно cid я указать не могу).
Аватара пользователя
FADE

Re: [решено] Получить ID последней строки добавленной в БД MySQL

Сообщение FADE »

mar может у него специфическая бд или предпарсер запросов Изображение
Аватара пользователя
Strange_V

Re: [решено] Получить ID последней строки добавленной в БД MySQL

Сообщение Strange_V »

Возможно я не прав, но не вижу смысла создавать 4 таблицы практически с одним полем.. Почему не поместить все в одну?
Аватара пользователя
Prisoner

Re: [решено] Получить ID последней строки добавленной в БД MySQL

Сообщение Prisoner »

уже разобрался ... сделал так:


Цитата:



sqlquery("INSERT into contacts values (NULL,'".$URL->GET['name']."');");

sqlquery("INSERT into address values (NULL,(SELECT id from contacts where caption='".$URL->GET['name']."'),'".$URL->GET['address']."');");
Аватара пользователя
ssdm

Re: [решено] Получить ID последней строки добавленной в БД MySQL

Сообщение ssdm »

уже разобрался ... сделал так:


Цитата:



sqlquery("INSERT into contacts values (NULL,'".$URL->GET['name']."');");

sqlquery("INSERT into address values (NULL,(SELECT id from contacts where caption='".$URL->GET['name']."'),'".$URL->GET['address']."');");
Аватара пользователя
Prisoner

Re: [решено] Получить ID последней строки добавленной в БД MySQL

Сообщение Prisoner »

Это Вы очень неправильно сделали. contacts.caption - не уникальное поле и в случае когда подзапрос вернет массив, а не одиночное значение, будет логическая ошибка... впрочем просто ошибка Изображение.

Сделайте так (если я правильно использую принятые Вами функции):

sqlquery("INSERT into contacts values (NULL, '".$URL->GET['name']."');");

sqlquery("INSERT into address values (NULL, ".mysql_insert_id().", '".$URL->GET['address']."');");
Аватара пользователя
FADE

Re: [решено] Получить ID последней строки добавленной в БД MySQL

Сообщение FADE »

Да, это Вы правы, поправил... кажется... вот, что с человеком подсветка делает - уж и в блокноте код набирать разучился %(.
Ответить

Вернуться в «Вебмастеру»