Отношения таблиц в MySQL

Рейтинг: 1Ответов: 1Опубликовано: 13.03.2011

Здравствуйте.

Пытаюсь сделать самый простой тест на PHP+MySQL. Делаю админку. Создаю две таблицы: questions и answers.

@mysql_query('CREATE TABLE questions (
    id_q INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    question TEXT NOT NULL )
    ENGINE=INNODB');

@mysql_query('CREATE TABLE answers (
    id_a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    answer TEXT NOT NULL,
    id_q INT NOT NULL REFERENCES questions(id_q) ON UPDATE CASCADE,
    rw TEXT NOT NULL )
    ENGINE=INNODB');

Заполняю таблицы следующим образом:

$result0 = mysql_query ("INSERT INTO questions (question) VALUES('".$_GET['txt1']."')");
$result1 = mysql_query ("INSERT INTO answers (answer, rw) VALUES('".$_GET['txt2']."', '".$_GET['r2']."')");
$result2 = mysql_query ("INSERT INTO answers (answer, rw) VALUES('".$_GET['txt3']."', '".$_GET['r3']."')");
$result3 = mysql_query ("INSERT INTO answers (answer, rw) VALUES('".$_GET['txt4']."', '".$_GET['r4']."')");

Хочу, чтобы id_q в answers принимало значения id_q таблицы questions. T.е. например:

Вопрос: Сколько планет в Солнечной системе? (id_q = 1)
Ответы:

  1. 7 (id_q = 1)
  2. 5 (id_q = 1)
  3. 9 (id_q = 1)

Вопрос: Сколько планет в xxx системе? (id_q = 2)
Ответы:

  1. 7 (id_q = 2)
  2. 5 (id_q = 2)
  3. 9 (id_q = 2)

Но у меня получается:

Вопрос: Сколько планет в xxx системе? (id_q = 2)
Ответы:

  1. 7 (id_q = 0)
  2. 5 (id_q = 0)
  3. 9 (id_q = 0)

PHP учу 3-ий день, MySQL 1-ый. )

Ответы

Ответов пока нет.