Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何使用python在sqlite中使用AUTOINCREMENT-_Python 3.x - Fatal编程技术网

Python 3.x 如何使用python在sqlite中使用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

我创建了一个名为“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 (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));“”