#mysql #sqlite
#mysql #sqlite
Вопрос:
Моя цель — просто использовать эту команду SQL, но перенести ее из sqlite в mysql :
cursor.execute(f"SELECT count(*) FROM sqlite_master WHERE type='table' AND name='{ctx.guild.id}_counters'")
В MySQL все по-другому, я видел это в Интернете, так что есть ли эквивалент FROM sqlite_master
этого средства ИЗ каждой таблицы базы данных в MySQL.
Ответ №1:
Это было бы что-то вроде этого:
SELECT COUNT(*)
FROM information_schema.TABLES t
WHERE t.TABLE_NAME = 'myname'
information_schema
это внутренняя база данных MySQL, которая содержит метаданные о ваших базах данных. Таблицы TABLES
и COLUMNS
, вероятно, представляют для вас наибольший интерес.
Комментарии:
1. Похоже, это работает, спасибо, но в следующей строке, когда я это делаю
int(check.fetchone()[0])
, я получаю эту ошибку: AttributeError: объект ‘int’ не имеет атрибута ‘fetchone’2. Эта ошибка означает, что переменная
check
является целым числом при выполнении этой строки.3. @carpii вы можете использовать
fetchone
с MySQL, хотяfetchall
в большинстве случаев он будет более типичным.