Python 3.x 如何使用python在sqlite中使用AUTOINCREMENT-
我创建了一个名为“Issue”的表,其中Issue\u序列号为AUTOINCREMENT-Python 3.x 如何使用python在sqlite中使用AUTOINCREMENT-,python-3.x,Python 3.x,我创建了一个名为“Issue”的表,其中Issue\u序列号为AUTOINCREMENT- sql= ''' CREATE TABLE Issue( Issue_serial_no INTEGER AUTO INCREMENT, roll_no INTEGER, Book_ID INTEGER, Issue_Date DATE, FOREIGN KEY (roll_no) REFERENCES Student(roll_no), FOREIGN KEY (Bo
sql= '''
CREATE TABLE Issue(
Issue_serial_no INTEGER AUTO INCREMENT,
roll_no INTEGER,
Book_ID INTEGER,
Issue_Date DATE,
FOREIGN KEY (roll_no) REFERENCES Student(roll_no),
FOREIGN KEY (Book_ID) REFERENCES Book(Book_ID)
);
'''
try:
connection.execute(sql)
print("Issue table is being created")
except:
print("issue table not created")
现在,当我运行以下程序时-
import datetime
c=connection.cursor()
now=datetime.date(2012,5,5)
c.execute("INSERT INTO Issue (roll_no, Book_ID, Issue_Date) VALUES(?,?,?)",(n,bi,now))
p=connection.cursor()
p.execute("select * from Issue")
for row in p.fetchall():
print('Issue_serial_no: '+str(row[0]) + ' roll_no: '+ str(row[1])+ ' Book_ID: '+ str(row[2])+ ' Issue_Date: '+ str(row[3]))
问题序列号为“无”-
发行编号:无卷号:3本书编号:1发行日期:2012-05-05
如何实现自动增量?正确的语法是
发出序列号\u无整数主键
或发出序列号\u无整数主键自动增量
。在许多情况下,自动增量
不是必需的。请参见尝试以下方法:
CREATE TABLE Issue(
Issue_serial_no INTEGER PRIMARY KEY,
roll_no INTEGER,
Book_ID INTEGER,
Issue_Date DATE,
FOREIGN KEY (roll_no) REFERENCES Student(roll_no),
FOREIGN KEY (Book_ID) REFERENCES Book(Book_ID)
);
cur = conn.cursor()
sql = "INSERT INTO Issue VALUES (Null, ?, ?, ?)"
cur.execute(sql, (roll_no, Book_ID, Issue_Date))
在像这样创建表之后,解决了可能的重复问题-sql=''创建表问题(问题\序列\无整数主键自动递增、滚动\无整数、书本\ ID整数、问题\日期、外键(滚动\无)参考学生(卷号),外键(图书ID)参考图书(图书ID));“”