-1

我在 Python 中使用 sqlite 并尝试做一些教程,但是当我尝试使用外键创建表时,我得到“近”-“:语法错误”。

这是我的代码

import sqlite3 as lite

conn = lite.connect("hospital.db")

c = conn.cursor()
c.execute("""CREATE TABLE IF NOT EXISTS Department(did INTEGER PRIMARY KEY AUTOINCREMENT, deptName TEXT)""")
c.execute("""CREATE TABLE IF NOT EXISTS Room(rid INTEGER PRIMARY KEY AUTOINCREMENT, nbBeds INT, nbEmptyBeds INT)""")
c.execute("""CREATE TABLE IF NOT EXISTS Patient(pid INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, lastname TEXT, address TEXT, telephone TEXT, e-mail TEXT, admitttanceDate TEXT, dischargeDate TEXT, FOREIGN KEY (roomId) REFERENCES Room(rid))""")
c.execute("""CREATE TABLE IF NOT EXISTS Employee(eid INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, lastname TEXT, address TEXT, telephone TEXT, e-mail TEXT, role TEXT, employmentStart TEXT, employmentEnd TEXT, employmentDays INT, FOREIGN KEY (patientId) REFERENCES Patient(pid), FOREIGN KEY(dept_id) REFERENCES Department(did))""")

conn.close()

我的任何表格中都没有任何“-”字符,所以我不明白这里出了什么问题。

4

1 回答 1

2

e-mail不是有效的列标识符。将名称放在双引号、方括号或反引号中,或删除-

"e-mail" TEXT
[e-mail] TEXT
`e-mail` TEXT
email TEXT

应该都可以。

于 2013-11-09T14:57:56.930 回答