Моя база данных изначально была файлом sql, преобразованным в файл sqlite, data.sqlite.База данных, это книга с номерами глав и стихов.Таблица:
`#INSERT INTO `booktext` (`index`, `chapter`, `verse`, `text`) VALUES`
def read_from_db():
table='booktext'
chapter =100
sql = '''SELECT * FROM {0} WHERE chapter= {1}'''.format(table,chapter)
c.execute(sql)
data = c.fetchall()
print (data) #returns emty list
return data
Возвращает пустой список.Однако, когда я не выбираю главу, для получения всех стихов в главе, а вместо этого пишу:
c.execute("SELECT * FROM 'booktext'")
Все главы и номера стихов с текстом появляются, как и ожидалось.Я не знаю, что не так с моим кодом.Может быть, в процессе, когда я преобразовал файл sql в data.sqlite, таблицу данных, изменился.Есть ли способ узнать, что является текущей таблицей данных?
В моем оригинальном файле sql руководство по использованию базы данных:
DROP TABLE IF EXISTS `booktext`;
CREATE TABLE `booktext` ('index` int(4) NOT NULL auto_increment,
`chapter` int(3) NOT NULL default '0',
`verse` int(3) NOT NULL default '0',
`text` text NOT NULL,
PRIMARY KEY (`index`)
) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;