gordon_shamway
@gordon_shamway

Как в PHP работать с foreign key?

к примеру есть 2 таблицы
CREATE TABLE IF NOT EXISTS `users` ( -- table for user data(auth,simply profile page and etc)
  `id` int(8) NOT NULL AUTO_INCREMENT,
  `name` varchar(30)NOT NULL,
  `email` varchar(60) NOT NULL,
  `password` varchar(40) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `email` (`email`)
) ENGINE=InnoDb  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

CREATE TABLE IF NOT EXISTS `posts`(
    `post_id` int(8) NOT NULL AUTO_INCREMENT,
    `title` varchar(30) NOT NULL,
    `body` text NOT NULL,
    `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    `user_id` int(8) NOT NULL,
    PRIMARY KEY (`post_id`)
)ENGINE=InnoDb  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
ALTER TABLE `posts`
  ADD FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;

Как можно добавить авторов статей на страницу?
  • Вопрос задан
  • 973 просмотра
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
FOREIGN KEY - это средство обеспечения целостности данных, к PHP никакого отношения не имеет.
В данном случае нужен обычный INNER JOIN.
Ответ написан
Комментировать
@tester_toster
Все просто:
SELECT p.*, u.name FROM posts as p LEFT JOIN users as u ON p.user_id = u.id
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы