一个varchar类型的值 。
用select colname from table into outfile 'd:/test.txt'结果发现test.txt里面全是数字 导出来的并不是colname那个列的值 ,这是怎么回事啊?
22
19
77
38
76
83
6
45
82
84
85
68
58
98
99
67
50
13
54
123
mysql是不是可以指定一些什么转换函数之类 的在导出数据的时候会调用那些函数?

解决方案 »

  1.   

    select colname from table 贴切下结果。show create table ... 看一下。
    否则别人无法在自己的机器上模拟你的问题。
      

  2.   

    'sys_log', 'CREATE TABLE `sys_log` (
      `LOG_ID` int(11) NOT NULL auto_increment,
      `USER_ID` varchar(20) default NULL,
      `TIME` datetime default NULL,
      `IP` varchar(20) default NULL,
      `TYPE` varchar(10) default '1',
      `REMARK` mediumtext NOT NULL,
      PRIMARY KEY  (`LOG_ID`)
    ) TYPE=MyISAM'执行下面这条句子的时候:
    SELECT count(*) from SYS_LOG where (TYPE='2' or TYPE='9' or TYPE='10') and USER_ID='a' and IP='a' union select user_id from sys_log into outfile 'd:/myoa/webroot/dsaf.txt'user_id是用户名,里面全是admin aaa bbb 这类的值,可是用上面那个语名生成的txt里面全都是数字 。
      

  3.   

    单独执行
    select user_id from sys_log into outfile 'd:/myoa/webroot/dsaf.txt' 这句话的话, 输出是正确的。这是为什么呢??
      

  4.   

    SELECT count(*) from SYS_LOG where (TYPE='2' or TYPE='9' or TYPE='10') and USER_ID='a' and IP='a' union select user_id from sys_log into outfile 'd:/myoa/webroot/dsaf.txt'你直接在MYSQL执行一下
    SELECT count(*) from SYS_LOG where (TYPE='2' or TYPE='9' or TYPE='10') and USER_ID='a' and IP='a' union select user_id from sys_log 
    就明白了。SELECT count(*) from SYS_LOG 的输出本来就是数字,union 后,select user_id from sys_log  也会以第一个select 的数据类型来生成。
      

  5.   

    SELECT count(*):的结果是数字型的,UNION 后,不管字段是什么类型,都是数字型
      

  6.   

    是不是跟MYSQL版本有关系?我本地是5.0.67-community-nt执行select 1 union select 'a'; 结果是1 a,服务器上面是'4.0.26-nt-max'执行select 1 union select 'a';结果就是1 0
      

  7.   

    在5。X版本上运行,估计是自动进行转换的,4,X没有安装。、
    SELECT 1+1 UNION SELECT 'A'
    1+1
    2
    A
      

  8.   

    这些SQL语句各个版本之间的差异没有一个说明 的文档么?
      

  9.   


    在官方文档的 release note 中有,不过很少有人去看。
      

  10.   

    你索引在你的语句之前再加一个。select '' union all
    SELECT count(*) from SYS_LOG where (TYPE='2' or TYPE='9' or TYPE='10') and USER_ID='a' and IP='a' union select user_id from sys_log into outfile 'd:/myoa/webroot/dsaf.txt'