【週刊ドットインストール】 『データで学ぶアルゴリズム Level 1-2』を運営中、Level 1-2も来週リリース予定!
他の方の質問で posts テーブルと comments テーブルの削除を逆にしたらいけないという内容がありましたが、 comments テーブルは posts テーブルを必要としていて、 posts テーブルは commentsテーブルを必要としていないという理屈はわかるのですが、上から処理されるので、問題ないのでは?と考えてしまいました。(実際に実行するとエラーになりますが。)
posts
comments
どういう流れで処理を行われているのかご教示いただけますでしょうか。
私の考え (1) comments テーブル、 posts テーブルが存在しているとエラーになる為すでに存在している場合削除
DROP TABLE IF EXISTS posts; DROP TABLE IF EXISTS comments;
(2) posts テーブルとそれに対応する各カラムの作成及び主キーの設定。 comments テーブルとそれに対応する各カラカラムの作成及び主キーの設定。また、外部キーの設定。
CREATE TABLE posts ( id INT NOT NULL AUTO_INCREMENT, message VARCHAR(140), PRIMARY KEY (id) ); CREATE TABLE comments ( id INT NOT NULL AUTO_INCREMENT, post_id INT, comment VARCHAR(140), PRIMARY KEY (id), FOREIGN KEY (post_id) REFERENCES posts(id) );
(3) 値の挿入
INSERT INTO posts (message) VALUES ('post-1'), ('post-2'), ('post-3'); INSERT INTO comments (post_id, comment) VALUES (1, 'comment-1-1'), (1, 'comment-1-2'), (3, 'comment-3-1');
(4) posts と comments テーブルのすべてを抽出(抽出した際にエラー確認)
SELECT * FROM posts; SELECT * FROM comments;
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
他の方の質問で
postsテーブルとcommentsテーブルの削除を逆にしたらいけないという内容がありましたが、commentsテーブルはpostsテーブルを必要としていて、postsテーブルはcommentsテーブルを必要としていないという理屈はわかるのですが、上から処理されるので、問題ないのでは?と考えてしまいました。(実際に実行するとエラーになりますが。)どういう流れで処理を行われているのかご教示いただけますでしょうか。
私の考え
(1)
commentsテーブル、postsテーブルが存在しているとエラーになる為すでに存在している場合削除(2)
postsテーブルとそれに対応する各カラムの作成及び主キーの設定。commentsテーブルとそれに対応する各カラカラムの作成及び主キーの設定。また、外部キーの設定。(3) 値の挿入
(4)
postsとcommentsテーブルのすべてを抽出(抽出した際にエラー確認)