Mahdi
Mahdi

Reputation: 1035

Inserting variable as SQL value in python

exp = "Ted is a good film"
cursor.execute ("insert into films (descp) values (exp)")
cursor.commit()

I'm using above code with MS SQL server, but it says: Invalid column name'exp' I'm using pyodbc.

Upvotes: 0

Views: 3541

Answers (3)

eumiro
eumiro

Reputation: 212885

I think you should pass it as a tuple:

cursor.execute ("insert into films (descp) values (?)", (exp,))

Upvotes: 3

emigue
emigue

Reputation: 502

You need introduce exp content into insert expression as string. You can use string format and ' ':

exp = "Ted is a good film"
cursor.execute ("insert into films (descp) values ('{exp}')".format(exp=exp))
cursor.commit()

Upvotes: 1

xbb
xbb

Reputation: 2163

cursor.execute ("insert into films (descp) values (?)",exp)

Upvotes: 10

Related Questions