如标题:请问,如果通过SQL查询一个表主键的字符集呢?
求大神帮帮。

解决方案 »

  1.   

    如果5以上,从`KEY_COLUMN_USAGE`中找到主键,在`COLUMNS`中找到字符集
      

  2.   

    select CHARACTER_SET_NAME  
    from KEY_COLUMN_USAGE A,COLUMNS B 
    where A.TABLE_SCHEMA=B.TABLE_SCHEMA and A.TABLE_NAME=B.TABLE_NAME where B.TABLE_NAME='xxxx';
      

  3.   

    只知道 SHOW CREATE TABLE table_name来查询表所使用的编码集。
    学习一下。有报错。为啥有两个where呢
      

  4.   

    where->and
      

  5.   

    之前有试了。1146 - Table 'db5.key_column_usage' doesn't exist
    假设 表是t。
    select CHARACTER_SET_NAME  
    from KEY_COLUMN_USAGE A,COLUMNS B 
    where A.TABLE_SCHEMA=B.TABLE_SCHEMA and A.TABLE_NAME=B.TABLE_NAME and B.TABLE_NAME='t';
    是这样吗?这样的话是报错说,数据库里面没这个KEY_COLUMN_USAGE表存在
      

  6.   

    SHOW FULL COLUMNS FROM tbl_name 然后对输出结果进行判断就行了。
      

  7.   

    KEY_COLUMN_USAGE A,COLUMNS B 
    `information_schema`.KEY_COLUMN_USAGE A,`information_schema`.COLUMNS B