Вот структура в ней 3 таблицы:
CREATE TABLE `names` (
`id` int(10) unsigned not null auto_increment,
`name` varchar(128) not null,
PRIMARY KEY (`id`),
UNIQUE KEY (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
CREATE TABLE `history` (
`id` int(10) unsigned not null auto_increment,
`text` text,
`page` int(10) unsigned not null,
`name_id` int(10) unsigned not null,
PRIMARY KEY (`id`),
UNIQUE KEY (`page`,`name_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
CREATE TABLE `tracklist` (
`id` int(10) unsigned not null auto_increment,
`text` text,
`page` int(10) unsigned not null,
`name_id` int(10) unsigned not null,
PRIMARY KEY (`id`),
UNIQUE KEY (`page`,`name_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
Представим ситуацию, что первая таблица names уже заполнена.
Условие которое связывает таблицу names с другими
`history` `name_id` = `names`.`id
`tracklist` `name_id` = `names`.`id
Как мне вставлять данные например в таблицу tracklist
SQL:
$query = "INSERT INTO `tracklist` (`text`, `page`, `name_id`) VALUES ('$t1', '1', '????') name_id` = `names`.`id` WHERE `name`='$name";
$t1--мой текст
$name--перпеменная get , которая получает имя.
Заранее благодарю.)
Спустя 5 минут, 20 секунд (18.02.2011 - 15:13) Michael написал(а):
Первым запросом вытаскиваешь id по известному тебе имени из таблицы `names`.
Вторым запросом вставляешь в `tracklist` строку
Вторым запросом вставляешь в `tracklist` строку
Спустя 43 минуты, 31 секунда (18.02.2011 - 15:56) dima4321 написал(а):
Да все верно )) спасибо. Пока кидал вопрос на форумы придумал и решение.
$sql = "SELECT id FROM `names` WHERE name='$nazv'";
$data = mysql_query($sql);
$qq=mysql_fetch_assoc($data);
$id=$qq['id'];
$query = "INSERT INTO `tracklist` (`text`, `page`, `name_id`) VALUES ('$t1', '1', '$id')";
mysql_query($query) or die(mysql_error());
Спустя 1 час, 10 минут, 22 секунды (18.02.2011 - 17:07) sergeiss написал(а):
dima4321 - только сделай еще проверку. Если у тебя в первой таблице не найдется айди, то второй запрос не должен быть запущен. Верно? Но пока второй запрос будет сделан в любом случае.
Спустя 2 дня, 17 часов, 32 минуты, 36 секунд (21.02.2011 - 10:39) linker написал(а):
INSERT INTO `tracklist`
(`text`, `page`, `name_id`)
VALUES
('$t1', '1', (SELECT `id` FROM `names` WHERE `name` = '$name'))
_____________
Работаю за еду ! __))
И за плюсики !