mysql:Variable 'character_set_client' can't be set to the value of 'NULL'解決

UpUpUpUpUpUpUp發表於2015-06-23

開發專案時遇到一個問題,並沒有使用儲存過程來批量執行SQL語句。而是在Java業務處理過程中將.sql檔案中的批量SQL語句分條讀取,讀取後一條一條執行。原先的.sql檔案是使用SQL Manager匯出的,需要在專案部署的時候將匯出的.sql檔案重新部署到新的客戶端電腦上,所以需要進行批量執行SQL語句的操作。好進入正題:
在批量執行的過程中遇到Variable ‘character_set_client’ can’t be set to the value of Null的SQL。經過長時間排查,排除了資料庫資料集的設定問題,排除了SQL語句的格式問題。最後發現是使用SQL Manager匯出的.sql檔案中有SQL語句的註釋,原來是這些註釋檔案造成以上的報錯。所以在執行類似的操作時,以後要記得刪除註釋語句後再執行批量SQL語句操作。

指令碼開始:

-- phpMyAdmin SQL Dump
-- version 3.5.5
-- http://www.phpmyadmin.net
--
-- 主機: 10.236.158.100:7013
-- 生成日期: 2015 年 06 月 23 日 14:55
-- 伺服器版本: 5.5.24-CDB-3.0.0-log
-- PHP 版本: 5.3.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!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 */;

--
-- 資料庫: `WeiJu_1`
--

指令碼最後:

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

相關文章