'createtables.php'というページを実行しているテーブルを作成しようとすると、テーブル 'Ausleihe'を作成できません。MySQLエラー:テーブル定義が正しくありません。自動列が1つしかなく、キーとして定義する必要があります
<?php
include 'connect.php';
$query = "CREATE TABLE Schueler(
SchuelerVorname VARCHAR(30) NOT NULL,
SchuelerName VARCHAR(30) NOT NULL,
StrasseUndHausnummer VARCHAR(50) NOT NULL,
PLZ INT(5) NOT NULL,
Ort VARCHAR(50) NOT NULL,
SchuelerNummer INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY
)";
$result = mysqli_query($conn, $query);
if(!$result) die ("Fehler beim erstellen der Tabelle 'Schueler': " .mysqli_error($conn));
$query1 = "CREATE TABLE Buch(
AutorVorname VARCHAR(30) NOT NULL,
AutorName VARCHAR(30) NOT NULL,
BuchName VARCHAR(50) NOT NULL,
ISBN VARCHAR(35) NOT NULL,
BuchNummer INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY
)";
$result = mysqli_query($conn, $query1);
if(!$result) die ("Fehler beim erstellen der Tabelle 'Buch': " .mysqli_error($conn));
$query2 = "CREATE TABLE Ausleihe(
AusleihDatum DATE NOT NULL,
AusleihNummer INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
BuchNummer INT(6) UNSIGNED AUTO_INCREMENT,
SchuelerNummer INT(6) UNSIGNED AUTO_INCREMENT,
FOREIGN KEY (BuchNummer) REFERENCES Buch(BuchNummer),
FOREIGN KEY (SchuelerNummer) REFERENCES Schueler(SchuelerNummer)
)";
$result = mysqli_query($conn, $query2);
if(!$result) die ("Fehler beim erstellen der Tabelle 'Ausleihe': " .mysqli_error($conn));
?>
私は間違っていますか?それは外来キーのためですか?
申し訳ありませんが、私のコードは部分的にドイツ語ですが、本当に問題ではありません。
FOREIGN KEY(BuchNummer)は(論理的に)自動インクリメントできません。 –