JOIN を使用して新しいテーブルを作成したときにcover_art
参照したテーブルの 1 つに新しい列を追加する必要がありますが、どのように行ったか思い出せません。news
newsdetails
artistid
テーブルで参照されている ID を含むテーブルを次にartists
示します。
CREATE TABLE `news` (
`post_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`artistid` smallint(5) unsigned NOT NULL,
`title` varchar(150) NOT NULL,
`cover_art` varchar(150) NOT NULL,
`blog_entry` text NOT NULL,
`updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`rating` varchar(150) NOT NULL,
PRIMARY KEY (`post_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=76 ;
INSERT INTO `news` (`post_id`, `artistid`, `title`, `cover_art`, `blog_entry`, `updated`, `rating`) VALUES
(1, 1, 'Ultra', 'images/temp_cover.jpg', 'The very first track Barrel Of A Gun is blah blah.', '2012-11-19 16:23:19', '990,568'),
(2, 13, 'Mish Mash', 'images/temp_cover.jpg', 'A train pulls into a station and etc etc ad infinitum.', '2012-11-19 16:23:44', '831,880'),
そして、ここartists
に私が含めたIDを持つテーブルがありますnews
:
CREATE TABLE `artists` (
`id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`artists_name` varchar(150) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=170 ;
INSERT INTO `artists` (`id`, `artists_name`) VALUES
(1, 'Depeche Mode'),
(2, 'Amon Tobin'),
Etc.
newsdata
私は内部結合と左結合を調べましたが、私の人生では、このテーブルを作成するために何をしたかを思い出せませartistid
んartists_name
。
1 post_id smallint(5) UNSIGNED いいえ 0
2 title varchar(150) latin1_swedish_ci いいえ なし
3
blog_entry text latin1_swedish_ci いいえ なし
4
更新されたタイムスタンプ いいえ 0000-00-00 00:00:00 (150) latin1_swedish_ci いいえ なし
そして、外部キーが何であるかを教えてくれたeggyalに感謝します-つまり、これを行うためではありません:-(