私はMySQLで2つのテーブルを持っている:SQLデータベーステーブルの関係?
CREATE TABLE names (name_ID INT NOT NULL AUTO_INCREMENT,
name VARCHAR(40) NOT NULL, PRIMARY KEY (name_ID));
CRETE TABLE surnames (surname_ID INT NOT NULL AUTO_INCREMENT,
name_ID INT NOT NULL FOREIGN KEY (name_ID) REFERENCES names (name_ID),
surnames VARCHAR(40) NOT NULL, PRIMARY KEY(surname_ID));
私の質問、どのような値私は姓の表のFOREIGN KEY列に挿入する必要がありますか?
たとえば、私は、NAMESテーブルにこのデータを入力したとします。
INSERT INTO names VALUES (NULL, 'Pamela');
INSERT INTO names VALUES (NULL, 'Sarah');
私は姓の表のFOREIGN KEYとして何を使うべきでしょうか?これらの2つのテーブルを関連付けるには、ここで入力する必要があるものは何ですか? surnamesテーブルの外部キーの値のソート方法
これはフォーラムDBからの例です:
CREATE TABLE languages (
lang_id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,
lang VARCHAR(60) NOT NULL,
lang_eng VARCHAR(20) NOT NULL,
PRIMARY KEY (lang_id),
UNIQUE (lang)
);
CREATE TABLE threads (
thread_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
lang_id TINYINT(3) UNSIGNED NOT NULL,
user_id INT UNSIGNED NOT NULL,
subject VARCHAR(150) NOT NULL,
PRIMARY KEY (thread_id),
INDEX (lang_id),
INDEX (user_id)
);
CREATE TABLE posts (
post_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
thread_id INT UNSIGNED NOT NULL,
user_id INT UNSIGNED NOT NULL,
message TEXT NOT NULL,
posted_on DATETIME NOT NULL,
PRIMARY KEY (post_id),
INDEX (thread_id),
INDEX (user_id)
);
CREATE TABLE users (
user_id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
lang_id TINYINT UNSIGNED NOT NULL,
time_zone VARCHAR(30) NOT NULL,
username VARCHAR(30) NOT NULL,
pass CHAR(40) NOT NULL,
email VARCHAR(60) NOT NULL,
PRIMARY KEY (user_id),
UNIQUE (username),
UNIQUE (email),
INDEX login (username, pass)
);
CREATE TABLE words (
word_id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,
lang_id TINYINT UNSIGNED NOT NULL,
title VARCHAR(80) NOT NULL,
intro TINYTEXT NOT NULL,
home VARCHAR(30) NOT NULL,
forum_home VARCHAR(40) NOT NULL,
`language` VARCHAR(40) NOT NULL,
register VARCHAR(30) NOT NULL,
login VARCHAR(30) NOT NULL,
logout VARCHAR(30) NOT NULL,
new_thread VARCHAR(40) NOT NULL,
subject VARCHAR(30) NOT NULL,
body VARCHAR(30) NOT NULL,
submit VARCHAR(30) NOT NULL,
posted_on VARCHAR(30) NOT NULL,
posted_by VARCHAR(30) NOT NULL,
replies VARCHAR(30) NOT NULL,
latest_reply VARCHAR(40) NOT NULL,
post_a_reply VARCHAR(40) NOT NULL,
PRIMARY KEY (word_id),
UNIQUE (lang_id)
);
挿入外部キーは、私は取得しないとは何ですか?例:
Thread_id、lang_id、外部キーはここにありますか?いいえの場合、手動で挿入されますか?はいの場合は手動で挿入しますか? lol
私はあなたがテーブルSURNAMESで達成しようとしていることを理解できません。より良い説明をしてください。 –
私たちの答えがあなたの必要なものを説明していませんでしたか? – Marco
大多数は分かりませんので、コードを追加したいと思います。私はこれが誰にも読まなくて退屈であることを知っているので、最初は少しのコードで試しました。今私は選択肢がありません – zack