2017-10-13 318 views
-1

在我的代码的下面给定的行中执行代码时,我正面临操作错误。sqlite3.OperationalError:在“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拼写错误。

相关问题