为什么Select语句returns只有1列?
Why Select statement returns only 1 column?
我尝试打印 3 列:
- Artists.artist
- Songs.Song
- Songs.views
这是我的代码:
conn = sqlite3.connect('utube.db')
conn.row_factory = lambda cursor, row: row[0]
c = conn.cursor()
c.execute("""Select Artists.artist, Songs.Song ,Songs.views FROM Songs
INNER JOIN Artists
ON Artists.Artist_Id = Songs.Artist_Id
""")
allsong = c.fetchall()
a = allsong
print(a)
conn.commit()
conn.close()
但是输出returns只有Artists.artist
.
['Blackpink', 'Blackpink', 'Lady gaga', 'Lady gaga', 'Lady gaga', 'The Beatles', 'The Beatles', 'Metallica', 'Frank Sinatra', 'Frank Ocean']
如何解决这个问题以使其 returns 类似于
[['Blackpink',?,?],['Blackpink',?,?],['Lady Gaga' ,?,?]........]
看起来这一行将 select 只有每一行的第一列:
conn.row_factory = lambda cursor, row: row[0]
试着把它拿出来,看看你能不能得到整行。
我尝试打印 3 列:
- Artists.artist
- Songs.Song
- Songs.views
这是我的代码:
conn = sqlite3.connect('utube.db')
conn.row_factory = lambda cursor, row: row[0]
c = conn.cursor()
c.execute("""Select Artists.artist, Songs.Song ,Songs.views FROM Songs
INNER JOIN Artists
ON Artists.Artist_Id = Songs.Artist_Id
""")
allsong = c.fetchall()
a = allsong
print(a)
conn.commit()
conn.close()
但是输出returns只有Artists.artist
.
['Blackpink', 'Blackpink', 'Lady gaga', 'Lady gaga', 'Lady gaga', 'The Beatles', 'The Beatles', 'Metallica', 'Frank Sinatra', 'Frank Ocean']
如何解决这个问题以使其 returns 类似于
[['Blackpink',?,?],['Blackpink',?,?],['Lady Gaga' ,?,?]........]
看起来这一行将 select 只有每一行的第一列:
conn.row_factory = lambda cursor, row: row[0]
试着把它拿出来,看看你能不能得到整行。