我目前正在執行代碼,試圖創建表:
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\beginner_pro_db\beginner_pro_db.py”,第 18 行,在 cur.executescript(''' sqlite3.OperationalError: near "PRIMARY": 語法錯誤
有人可以幫我除錯嗎?
uj5u.com熱心網友回復:
這是有問題的陳述
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/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/504941.html
標籤:python-3.x sqlite 调试