2017-10-13 17 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의 철자가 잘못되었습니다.