Andy Todd wrote: > Lukasz Szybalski wrote: >> On 8/7/07, Carsten Haese <[EMAIL PROTECTED]> wrote: >>> On Tue, 2007-08-07 at 13:06 -0500, Lukasz Szybalski wrote: >>>> On 8/7/07, Carsten Haese <[EMAIL PROTECTED]> wrote: >>>>> On Tue, 2007-08-07 at 11:58 -0500, Lukasz Szybalski wrote: >>>>>> Hello, >>>>>> I have installed mysqldb python bindings and I am using python to >>>>>> write to mysql. >>>>>> >>>>>> I have a field called "Desc" in a database (short for description ) >>>>>> But this name is used by mysql for sorting DESC >>>>>> >>>>>> When i do: >>>>>> insert into tablename(id,desc)VALUES(1,'some text') >>>>>> >>>>>> How do I escape 'desc'? >>>>> insert into tablename(id,`desc`) ... >>>>> >>>>>>> conn=MySQLdb.connect( SERVER, USER, PASS, DB ) >>>>>>> c=conn.cursor() >>>>>>> c.execute("insert into tablename('desc')Values('sss')") >>> You are quoting the name in apostrophes (ascii character 39). You should >>> be using backwards apostrophes (ascii character 96). >> Thank you, >> That worked. >> Lucas >> _______________________________________________ >> DB-SIG maillist - DB-SIG@python.org >> http://mail.python.org/mailman/listinfo/db-sig > > And as a general rule of thumb, don't use reserved words as column names > in your database. Section 9.3 of the MySQL 5.1 reference manual lists > all of these reserved words. I believe there is a similar section in the > manuals for the other releases although I don't have any to hand at the > moment.
http://dev.mysql.com/doc/refman/4.1/en/reserved-words.html http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html The identifier-quoting rules are here: http://dev.mysql.com/doc/refman/5.0/en/identifiers.html which says, basically, that identifiers can be quoted with backticks. If the ANSI_QUOTES SQL mode is enabled, you can quote identifiers with backticks or double quotes. _______________________________________________ DB-SIG maillist - DB-SIG@python.org http://mail.python.org/mailman/listinfo/db-sig