python - psql TypeError: not all arguments converted during string formatting -
i have trouble when try automatically generate pid
create table players( pid serial primary key, pname varchar(90) not null );
and here function
def addplayer(name): conn = connect() cur = conn.cursor() cur.execute("insert players(pname) values(%s)",name) conn.commit()
and call function with
addplayer('vera')
i keep getting error
cur.execute("insert players(pname) values(%s)",name) typeerror: not arguments converted during string formatting
i search hours still confused. can me this? lot!
you need pass tuple or list second parameter execute.
when having more 1 replacement in query tuple looks "normal" this: (name, age).
in case need add tuple 1 part. short bit unusual way write use (name,) second parameter.
thus:
cur.execute("insert players(pname) values(%s)",(name,))
although it's more common use ? replacement char this:
cur.execute("insert players(pname) values(?)",(name,))
Comments
Post a Comment