-4
$sql = "CREATE TABLE IF NOT EXISTS questions_$username(".
        "question_id INT NOT NULL AUTO_INCREMENT, ".
        "question MEDIUMTEXT, ".
        "answer CHAR(1), ".
        "PRIMARY KEY (question_id))";
$retval = mysql_query($sql, $conn) or die(mysql_error());

$sql = "CREATE TABLE IF NOT EXISTS tests_$username(".
        "test_id INT NOT NULL AUTO_INCREMENT, ".
        "name VARCHAR(30) NOT NULL, ".
        "duration INT NOT NULL, ".
        "PRIMARY KEY (test_id))";
$retval = mysql_query($sql, $conn) or die(mysql_error());

$sql = "CREATE TABLE IF NOT EXISTS questions_tests_$username(".
        "test_id INT NOT NULL, ".
        "question_id INT NOT NULL, ".
        "FOREIGN KEY (test_id) REFERENCES tests_$username(test_id), ".
        "FOREIGN KEY (question_id) REFERENCES questions_$username(question_id), ".
        "PRIMARY KEY (test_id, question_id))".
$retval = mysql_query($sql, $conn) or die(mysql_error());

echo "debug";

最初の 2 つのテーブルは正常に作成されますが、3 番目のテーブルは作成されません。エラーも出ません。最後の行が実行されます。データベース内のテーブル数に制限はありません。

4

1 に答える 1