On 6/22/06, Justin Ezequiel <[EMAIL PROTECTED]> wrote: > how can I get 'select ... from ... where field in %s' to work for > sequences of strings? > sequences of integers works just fine > > import MySQLdb > > DBCRED = {'host': 'localhost', 'user': 'userjustin', > 'passwd': 'passwdjustin', 'db': 'dbjustin'} > > ARTICLES = ('XXX99999', 'ABZ00002') > PIDS = (29379, 29380) > > FIXEDARTICLENAME = """SELECT * FROM tblForTransfer2Prodsite > WHERE articleName IN ('XXX99999', 'ABZ00002')""" > TESTARTICLENAME = """SELECT * FROM tblForTransfer2Prodsite > WHERE articleName IN %r""" % (ARTICLES,) > SQLARTICLENAME = """SELECT * FROM tblForTransfer2Prodsite > WHERE articleName IN %s""" > > FIXEDPID = """SELECT * FROM tblForTransfer2Prodsite > WHERE pid IN (29379, 29380)""" > TESTPID = """SELECT * FROM tblForTransfer2Prodsite > WHERE pid IN %r""" % (PIDS,) > SQLPID = """SELECT * FROM tblForTransfer2Prodsite > WHERE pid IN %s""" > > if __name__ == '__main__': > conn = MySQLdb.connect(**DBCRED) > try: > cur = conn.cursor() > print FIXEDARTICLENAME > print TESTARTICLENAME > print cur.execute(FIXEDARTICLENAME), > print cur.execute(TESTARTICLENAME), > # cannot get this to work > print cur.execute(SQLARTICLENAME, (ARTICLES,)) > print > print FIXEDPID > print TESTPID > print cur.execute(FIXEDPID), > print cur.execute(TESTPID), > # but this does > print cur.execute(SQLPID, (PIDS,)) > print > finally: conn.close() > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor >
Can you post your error messages? -- Matt _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor