Есть таблица в 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 ищет и сравнивает название таблицы, а не его содержимое (столбцы). Поэтому после такого изменения вы лишь добавите еще один столбец.