debugging 在SQL中创建表时引发错误

aelbi1ox  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(186)

我目前正在执行一个代码,试图创建表:

cur.executescript('''
    CREATE TABLE User(
        id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE ,
    name TEXT, email_id TEXT);

    CREATE TABLE Courses(
        id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
    course_name TEXT);

    CREATE TABLE Member(
        user_id INTEGER, course_id INTEGER, role INTEGER)/*student-0 teacher 1*/
    PRIMARY KEY(user_id, course_id);
''')

它给我这个错误:
文件“E:\python_folder_practice_app_programming\SQLite\初学者专业数据库\初学者专业数据库.py”,第18行,在cur.执行脚本('''sqlite3.操作错误:靠近“主”:语法错误
有人能帮我调试一下吗?

lqfhib0f

lqfhib0f1#

这是有问题的陈述

CREATE TABLE Member(
    user_id INTEGER, course_id INTEGER, role INTEGER)/*student-0 teacher 1*/
PRIMARY KEY(user_id, course_id);

您的primary key约束条件应在括号内(并以逗号分隔)
就像这样(为了便于阅读,我把它分成了几行)

CREATE TABLE Member(
    user_id INTEGER, 
    course_id INTEGER, 
    role INTEGER, /*student-0 teacher 1*/
    PRIMARY KEY(user_id, course_id)
);

请参阅此处的示例https://www.sqlitetutorial.net/sqlite-create-table/

相关问题