环境 :
-- phpMyAdmin SQL Dump
-- version 2.11.9.1
-- http://www.phpmyadmin.net-- 服务器版本: 5.0.67
-- PHP 版本: 5.2.6
-- MYSQL 版本: 4.0.26 刚做好了一个留言本系统PHP+MYSQL,现在想把一个uft8编码的数据库文件导入,但是提示出错:
SQL 查询: -- phpMyAdmin SQL Dump
-- version 2.11.9.1
-- http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2008 年 11 月 06 日 03:32
-- 服务器版本: 5.0.67
-- PHP 版本: 5.2.6
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";MySQL 返回: #1193 - Unknown system variable 'SQL_MODE' 
   ... 是不是因为数据库编码是GB**,所以导致出错. 该如何导入utf8数据库文件..有几种解决方法, 具体操作如何?

解决方案 »

  1.   

    至少 MySQL 4.1 之前是没有这个SQL_MODE系统参数的。
    而你的版本是 "MYSQL 版本: 4.0.26"把这句从你的导入文件中去掉。
      

  2.   

    -- phpMyAdmin SQL Dump
    -- version 2.11.9.1
    -- http://www.phpmyadmin.net
    --
    -- 主机: localhost
    -- 生成日期: 2008 年 11 月 06 日 03:32
    -- 服务器版本: 5.0.67
    -- PHP 版本: 5.2.6SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    .......将红色部分全部删除 ?
      

  3.   

    “#1193 - Unknown system variable 'SQL_MODE' ”--------------
    有错误提示了,去掉这个参数看看是否可行
      

  4.   

    - -还是不对.
    -- phpMyAdmin SQL Dump
    -- version 2.11.9.1
    -- http://www.phpmyadmin.net
    --
    -- 主机: localhost
    -- 生成日期: 2008 年 11 月 06 日 03:32
    -- 服务器版本: 5.0.67
    -- PHP 版本: 5.2.6
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    上面4行都会报错
      

  5.   

    出错信息是什么?你这是从高版本向低版本导数据,会有一些不兼容的语句的。
    你的这个文件是怎么导出来的?用mysqldump ?
      

  6.   

    楼主,你的导入MYSQL数据库版本过低,类似的问题还会有很多。建议
    一:把MYSQL升组到至少相同的版本。
    二:手工把这个文件修改一下。把不兼容的语法格式去掉。(需要一句一句试验)