Добрый день.
Есть 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 я указать не могу).
[решено] Получить ID последней строки добавленной в БД MySQL
-
FADE
Re: [решено] Получить ID последней строки добавленной в БД MySQL
mar может у него специфическая бд или предпарсер запросов 

-
Strange_V
Re: [решено] Получить ID последней строки добавленной в БД MySQL
Возможно я не прав, но не вижу смысла создавать 4 таблицы практически с одним полем.. Почему не поместить все в одну?
-
ssdm
Re: [решено] Получить ID последней строки добавленной в БД MySQL
ssdm, прочтите
документацию по MYSQL_INSERT_ID в MySql
и по ее "реализации" из-под PHP
. Имхо, как раз Ваш случай.-
Prisoner
Re: [решено] Получить ID последней строки добавленной в БД MySQL
уже разобрался ... сделал так:
Цитата:
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']."');");
Цитата:
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
уже разобрался ... сделал так:
Цитата:
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']."');");
Цитата:
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
Это Вы очень неправильно сделали. contacts.caption - не уникальное поле и в случае когда подзапрос вернет массив, а не одиночное значение, будет логическая ошибка... впрочем просто ошибка
.
Сделайте так (если я правильно использую принятые Вами функции):
sqlquery("INSERT into contacts values (NULL, '".$URL->GET['name']."');");
sqlquery("INSERT into address values (NULL, ".mysql_insert_id().", '".$URL->GET['address']."');");
.Сделайте так (если я правильно использую принятые Вами функции):
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
Prisoner шонто с кавычками помоему намудрили

-
FADE
Re: [решено] Получить ID последней строки добавленной в БД MySQL
Да, это Вы правы, поправил... кажется... вот, что с человеком подсветка делает - уж и в блокноте код набирать разучился %(.
-
ssdm
Re: [решено] Получить ID последней строки добавленной в БД MySQL
Prisoner
так и сделал... спасибо за помощь
так и сделал... спасибо за помощь