List:MySQL ODBC« Previous MessageNext Message »
From:<jbonnett Date:November 6 2005 9:57pm
Subject:RE: SQLForeignKeys result-set question
View as plain text  
I would think the back-ticks (not single quotes) are there because '_'
is a wild card character in SQL and 'type' is a keyword.

I guess the back-ticks are not there in your later example because it is
just the output of a query.

John B.

-----Original Message-----
From: Martin J. Evans [mailto:martin.evans@stripped] 
Sent: Thursday, 3 November 2005 3:20 AM
To: myodbc@stripped
Subject: SQLForeignKeys result-set question

Hi,

I'm using mysql-connector-odbc-3.51.12. I have two tables "market" and
"markettypes" and market has a foreign key on column type which is
column
markettype_id in the table marketypes. When I run SQLForeignKeys I get:

PKTABLE_CAT:PKTABLE_SCHEM:PKTABLE_NAME:PKCOLUMN_NAME:FKTABLE_CAT:FKTABLE
_SCHEM:F
KTABLE_NAME:FKCOLUMN_NAME:KEY_SEQ:UPDATE_RULE:DELETE_RULE:FK_NAME:PK_NAM
E:DEFERR
ABILITY:
bet::markettype:`markettype_id`:bet::market:`type`:1:1:1:NULL:NULL:7:

The colon is the column separator here. My question is, why is the
PKCOLUMN_NAME and FKCOLUMN_NAME contents created with single quotes
around the
name.

If I do:

mysql> select * from INFORMATION_SCHEMA.KEY_COLUMN_USAGE where
table_name =
'market' and referenced_table_name is not null;
+--------------------+-------------------+-----------------+------------
---+----
----------+------------+-------------+------------------+---------------
--------
--------+-------------------------+-----------------------+-------------
--------
---+
| CONSTRAINT_CATALOG | CONSTRAINT_SCHEMA | CONSTRAINT_NAME |
TABLE_CATALOG |
TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | ORDINAL_POSITION |
POSITION_IN_UNIQUE_CONSTRAINT | REFERENCED_TABLE_SCHEMA |
REFERENCED_TABLE_NAME
| REFERENCED_COLUMN_NAME |
+--------------------+-------------------+-----------------+------------
---+----
----------+------------+-------------+------------------+---------------
--------
--------+-------------------------+-----------------------+-------------
--------
---+
| NULL               | bet               | market_ibfk_1   | NULL
|
bet          | market     | type        |                1 |

         1 | bet                     | markettype            |
markettype_id   
      |
+--------------------+-------------------+-----------------+------------
---+----
----------+------------+-------------+------------------+---------------
--------
--------+-------------------------+-----------------------+-------------
--------
---+
1 row in set (0.00 sec)

The column names are without the single quotes.

I had a quick look in myodbc odbc driver code and could not spot
anything doing
this.

Martin
--
Martin J. Evans
Easysoft Ltd, UK
Development


Thread
SQLForeignKeys result-set questionMartin J. Evans2 Nov
RE: SQLForeignKeys result-set questionjbonnett6 Nov
  • RE: SQLForeignKeys result-set questionMartin J. Evans7 Nov
    • Re: SQLForeignKeys result-set questionNick Gorham8 Nov