hi Jesper,

thanks a lot!   That's what I want. thank u againCC: mysql@lists.mysql.com
From: jes...@noggin.com.au
Subject: Re: how to get the name of primary key ?
Date: Mon, 1 Feb 2010 20:26:36 +1100
To: tx...@hotmail.com

On 01/02/2010, at 7:33 PM, 曹凯 wrote:
Hi all,
if we just know the table name but don't know the name of primary key, is there 
any variables or constants could instead of the PK?
for example:
there is a table "game_log", and now I have the last inserted_id but don't know 
what its primary_id is, how can I "SELECT * FROM game_log WHERE this_table's_PK 
= last_inserted_id"?
You can get the column name from the information schema, however that can't be 
used directly in another query in the way you've done in your example. E.g.
game> SELECT COLUMN_NAME FROM information_schema.KEY_COLUMN_USAGE WHERE 
TABLE_SCHEMA = 'game' AND TABLE_NAME = 'game_log' AND CONSTRAINT_NAME = 
'PRIMARY';+-------------+| COLUMN_NAME |+-------------+| GameLogID   | 
+-------------+1 row in set (0.00 sec)
where it is assumed the database name is "game".
Hope that helps.
Jesper                                    
_________________________________________________________________
Windows Live社区两周年,拿奖过新年!
http://events.livetome.cn/2010/2birthday

Reply via email to