【发布时间】:2018-07-12 00:03:58
【问题描述】:
为什么我的 sql3 不工作?
cursor.execute('''
CREATE TABLE IF NOT EXISTS students(
studentid INTEGER PRIMARY KEY,
forename VARCHAR(20) NOT NULL,
surname VARCHAR(20) NOT NULL,
currentgrade VARCHAR(20) NOT NULL,
targetgrade VARCHAR(30) NOT NULL)
''')
cursor.execute('''
INSERT INTO students(studentid,forename,surname,currentgrade,targetgrade)
VALUES ("a","b","1","c","d");
''')
db.commit()
这是它抛出的错误:
sqlite3.IntegrityError: datatype mismatch
截图如下:
【问题讨论】:
-
看起来
studentid期待一个整数并接收一个字符串:'a'。 -
您应该在问题中包含相关代码和错误消息作为文本。人们更愿意在他们需要问题时提供帮助,这使得问题可搜索。
-
另外,您的表格有 5 列,但您提供了 6 个值。
标签: database sqlite sqldatatypes