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

Reply via email to