Я изучаю, как использовать sqlite3 в python. У меня есть простая таблица с двумя столбцами: идентификатор и имя.sqlite3 python добавление столбцов и обновление значений
Я попытался добавить новый столбец в этой таблице, используя следующие команды (я работаю в IPython):
conn = sqlite3.connect('mydatabase.db')
c = conn.cursor()
c.execute("alter table studentinfo add column Group integer")
Я получаю следующее сообщение об ошибке:
OperationalError: near "Group": syntax error
Затем, основываясь на примеры здесь на SO Я пробовал,
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?
спасибо.
Duv, а также @brice: не помнил, что GROUP - это ключевое слово. Будет изменено имя столбца. Благодарю. – Curious2learn