2017-10-13 9 views
-1

私のコードの次の行でコードを実行すると、操作上のエラーに直面しています。sqlite3.OperationalError:near "FOREIGN":構文エラー

c.execute("CREATE TABLE IF NOT EXISTS customerReg(cname TEXT,cgender TEXT,cphone INT UNIQUE,cusername TEXT UNIQUE,cpassword TEXT UNIQUE)") 
    c.execute("CREATE TABLE IF NOT EXISTS adminReg(Oname TEXT,Hname TEXT UNIQUE,totalrooms INT,tariff INT,location TEXT,aphone INT,ausername TEXT UNIQUE,apassword TEXT UNIQUE)") 
    c.execute("CREATE TABLE IF NOT EXISTS customerStay(cname TEXT,hostel TEXT,location TEXT,tariff INT)") 
    c.execute("CREATE TABLE IF NOT EXISTS Hostel(FOREIGN KEY(Hostelname) REFERENCE adminReg(Hname),FOREIGN KEY(rent) REFERENCE adminReg(tariff),FOREIGN KEY(roomsavailable) REFERENCE adminReg(totalrooms))") 

表示されているエラーは、私は間違いを見ることができないのです

c.execute("CREATE TABLE IF NOT EXISTS Hostel(FOREIGN KEY(Hostelname) 
REFERENCE adminReg(Hname),FOREIGN KEY(rent) REFERENCE 
adminReg(tariff),FOREIGN KEY(roomsavailable) REFERENCE 
adminReg(totalrooms))") sqlite3.OperationalError: near "FOREIGN": 
syntax error 

です。

答えて

0

このCREATE TABLE文では列は定義されません。 (FOREIGN KEYは既存の列の制約を宣言しますが、新しい列は定義されません)

REFERENCESは間違っています。

関連する問題