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