Я учусь использовать sqlite3 в python. У меня есть простая таблица с 2 столбцами: идентификатор и имя.
Я попытался добавить новый столбец в эту таблицу, используя следующие команды (я работаю в ipython):
conn = sqlite3.connect('mydatabase.db')
c = conn.cursor()
c.execute("alter table studentinfo add column Group integer")
Я получаю следующую ошибку:
OperationalError: near "Group": syntax error
Затем, основываясь на примерах здесь, на С.О. Я пытался,
c.execute("alter table studentinfo add column 'Group' integer")
Это сработало. Однако сейчас у меня другая проблема. Очевидно, имя столбца - «Группа», а не просто «Группа».
Например, когда я пытаюсь обновить значение в этом столбце из следующих трех команд, одна работает, а две - нет.
conn = sqlite3.connect('mydatabase.db')
c = conn.cursor()
c.execute("update studentinfo set Group=1 where ID <= 4") #This did not work.
Я получаю следующую ошибку:
OperationalError: near "Group": syntax error
Затем я попытался заключить в кавычки имена столбцов:
c.execute("update studentinfo set 'Group'=1 where 'ID' <= 4")
#This did not work either. Gives no error, but does not do anything. Records remain
#unchanged.
Затем я попытался с кавычками около Group
, но не около ID
. Это работало нормально.
c.execute("update studentinfo set 'Group'=1 where ID <= 4") #This worked fine.
То есть имя столбца воспринимается как «Группа» (с кавычками). Как добавить столбец только с именем Group?
Спасибо.