1.如果要调用MYSQL里面的一些内置的函数 ,比如user(),database()  等,需要什么权限 ?2.出现以下错误如何解决?
出现以下错误如何解决?
mysql> load data infile 'd:/a.jpg' into table a;
ERROR 1262 (01000): Row 4 was truncated; it contained more data than there were
input columnsa表里有一个binary类型的字段。
3.看网上的文章说MYSQL可以执行批处理里面的SQL语句。语法是mysql < batchfile
可是为什么我写mysql < a.txt
却报语法错误呢? 是哪里 写错了吗?就这三个问题,谢谢大家的帮忙 。

解决方案 »

  1.   

    1、
    详细权限看表
    select * from mysql.`user`;要调用user(),只需要有usage权限就可以了;要调用database(),则只需要有usage权限就可以获取information_schema的库名了,而其他库名要通过此函数获取,要有访问对应库的权限(如select权限等)就可以调用了。2、这样处理就可以了:
    insert into 表a(binary类型的字段名)
      values(load_file('d:/a.jpg'));3、首先要先确保你的a.txt里面的sql语句语法正确,然后在cmd下用如下方式调用:
    mysql -uroot -ppassword 库名 < "目录\a.txt"
      

  2.   

    3
    mysql.exe  -uroot -p123 test < r:\temp\QQ.SQL
    2直接用LOAD
    insert into TT(F1) 
      values(load_file('d:/a.jpg'));
      

  3.   

    1 和用户相应权限一样 root 有什么权限 user有什么权限2. 如果是blob要用流读入
    binary
    insert into 表a(binary类型的字段名) 
      values(load_file('d:/a.jpg')); 
    3.txt文件中可能有语法错误
      

  4.   


    能够连接MYSQL数据库就可以了,不需要其它特别的权限。
      

  5.   


    你的这个 blob 的数据有多大?对应的表中字段类型是什么?
      

  6.   


    mysql -u username -pPassword  databasename <a.txt你可以直接 mysql --help 看一下语法格式。
      

  7.   

    那个图片大小为19.4KB,我把字段改成blob类型的了,然后用
    insert into a values (load_file('d:/a.jpg'));这样可以将这个二进制的数据插 入到数据 库中。
    但是用load data infile 'd:/a.jpg' into table a;
    还是报错。。ERROR 1262 (01000): Row 4 was truncated; it contained more data than there were
    input columns
      

  8.   

    load data infile命令是导入TXT文件的
      

  9.   

    呃,试了一下,好像确实是这样的,换成文本文件就都能导进去 。。这么说load data infile与load_file的区别 就是一个只能导入文本文件,一个可以导入任何文件吗?
      

  10.   

    是不是执行所有 MYSQL里面的函数 都是需要一样的权限 还是怎么的啊?有没有函数跟权限的对应表?
      

  11.   

    load data infile:导入TXT文件,字段列数必须与TXT一致,可以用变量跳列load_file:导入BLOB字段时使用,注意字段类型:BLOB