Есть таблица в sqlite3 с IF NOT EXISTS. Если я решу добавить больше полей в созданную уже таблицу, то создастся новая?

Есть таблица в sqlite3 с IF NOT EXISTS. Если я решу добавить больше полей в созданную уже таблицу, то создастся новая? Или же существование таблицы определяется по ее названию?

Вот создается таблица:

cur.execute("""CREATE TABLE IF NOT EXISTS users(userid INTEGER PRIMARY KEY, nickname TEXT, currency INT);""")

Я, к примеру, хочу добавить новое поле - password. В коде я вписываю его.

cur.execute("""CREATE TABLE IF NOT EXISTS users(userid INTEGER PRIMARY KEY, nickname TEXT, currency INT, password TEXT);""")

При запуске этого кода просто добавятся новые поля или же создастся новый столбец из-за условия CREATE TABLE IF NOT EXISTS? Возможно соблюдение условия проверяется по названию, но не могу быть уверен в этом. Заранее спасибо!

Код до:

conn = sqlite3.connect('BotBase.db')
cur = conn.cursor()
conn.commit()
print('Connected')

cur.execute("""CREATE TABLE IF NOT EXISTS users(userid INTEGER PRIMARY KEY, nickname TEXT, currency INT);""")

Код, который я хочу запустить:

 conn = sqlite3.connect('BotBase.db')
cur = conn.cursor()
conn.commit()
print('Connected')

cur.execute("""CREATE TABLE IF NOT EXISTS users(userid INTEGER PRIMARY KEY, nickname TEXT, currency INT, BTC INTEGER);""")

Ответы (1 шт):

Автор решения: Максю Гузеевгений

Нет, новая таблица не создастся. Проверка IF NOT EXISTS ищет и сравнивает название таблицы, а не его содержимое (столбцы). Поэтому после такого изменения вы лишь добавите еще один столбец.

→ Ссылка