2015-09-17 3 views
1

Im совершенно новый для python и im, пытающийся написать скрипт, который помещает значения в базу данных SQL.Вставка через pymssql, но строки не отображаются в базе данных

его простая таблица 2 столбца, который выглядит следующим образом:

CREATE TABLE [dbo].[pythonInsertTest](
    [ID] [int] IDENTITY(1,1) NOT NULL, 
    [value] [varchar](50) NULL 

Я попытался сделать запрос на выборку из питона и что работало! Таким образом, связь или что-то в этом роде не проблема. но когда я хочу вставить в таблицу с помощью следующего кода:

import pymssql 
conn = pymssql.connect(server='XXXX', user='XXXX', password='XXXX', database='XXXX') 
cursor = conn.cursor() 
cursor.execute("insert into pythonInsertTest(value) OUTPUT INSERTED.ID VALUES('test')") 
row = cursor.fetchone() 
while row: 
    print "Inserted Product ID : " +str(row[0]) 
    row = cursor.fetchone() 

Отклик:

$? && exit 1 
Inserted Product ID : 20 
Exit status: 0 

Однако, если я смотрю в мой менеджер SQL и выбрать все строки в указанной таблице, строка, которую я просто добавил, там не там ... Но когда я вручную вставляю строку через SQL-запрос в менеджер, она добавляется.

Важно отметить, что он пропустил идентификатор, который был вставлен через мой скрипт python.

Кто-нибудь видел это раньше или знает, что делать?

ответ

4

Ха, я ударил головой об этом несколько раз. Насколько я могу судить, вам не хватает инструкции commit. В соответствии с этим example, добавьте conn.commit(), и, надеюсь, вы станете золотым.

+1

Да, который работал как шарм, спасибо :) – Mickboe1

Смежные вопросы