also to clarify, the text actually has :table_name used in many other places:
t = metadata.engine.text("LOCK TABLE :table_name WRITE; " "UPDATE :table_name SET rgt=rgt + 2 WHERE rgt > :insert_node_val and parent_id = :parent_id;" "UPDATE :table_name SET lft=lft + 2 WHERE lft > :insert_node_val and parent_id = :parent_id;" ...... so if i had it as %s, i would have to repeat the same name multiple times in % (name, name, name). I'm ok with this, just curious if there is a better way. thanks. On Mar 15, 9:37 am, "tml" <[EMAIL PROTECTED]> wrote: > t = metadata.engine.text("LOCK TABLE :table_name WRITE; ", > bindparams=[bindparam('table_name', type=types.String)]) > > will not work as the generated statement looks like: > > LOCK TABLE 'my_table_name' WRITE; > > Is there any other type I can specify which doesn't quote the string > for tablename? The table name isn't input by user. I get it from > self.mapper.local_table.name inside a class's method. > > thanks. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---