[英]How to I resolve the Traceback error for creating SQL Lite database and printing a hex for first row name&age in python 3?
尝试在Python中创建SQL数据库并插入一些基本数据,然后在数据库中返回名称/年龄的第一行的十六进制值,然后在python中进行打印,但始终收到元组错误。
谢谢
import sqlite3
conn = sqlite3.connect('Exercise_Ages.sqlite')
cur = conn.cursor()
cur.execute('''DROP TABLE IF EXISTS Ages''')
cur.executescript('''CREATE TABLE Ages (name VARCHAR(128), age INTEGER);
DELETE FROM Ages;
INSERT INTO Ages (name, age) VALUES ('Trudie', 18);
INSERT INTO Ages (name, age) VALUES ('Marley', 26);
INSERT INTO Ages (name, age) VALUES ('Elshan', 17);
INSERT INTO Ages (name, age) VALUES ('Reese', 32);
INSERT INTO Ages (name, age) VALUES ('Lex', 31);
INSERT INTO Ages (name, age) VALUES ('Briagha', 16);''')
conn.commit()
sqlstr = 'SELECT hex(name || age) AS name FROM Ages ORDER BY age DESC LIMIT 10'
for row in cur.execute(sqlstr):
print(str(row[0]), row[1])
cur.close()
Traceback (most recent call last):
File "<ipython-input-63-ddbebe584cc3>", line 22, in <module>
print(str(row[0]), row[1])
IndexError: tuple index out of range
此SELECT hex(name || age) AS name FROM Ages
为每一行检索一列,并且您也尝试使用以下命令打印第二列:
print(str(row[0]), row[1])
只需执行以下操作:
print(str(row[0]))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.