//allow zero datetime=true導致datetime轉換失敗:MySql.Data.Types.MySqlDateTime”的對象無法轉換為類型“System.Nullable`1[System.DateTime]
做反射轉換時遇到該問題
mysql連接字串去掉allow zero
datetime=true,否則返回的日期會是MySql.Data.Types.MySqlDateTime類型,而不是DataTime
//////查詢返回結果空時間錯誤
資料庫連接字串中增加
allow zero datetime=true;
//////休眠串連過多,有可能導致“Too many
connections”的錯誤
查看所有串連 show
processlist
設定休眠連線逾時時間60秒:
my.ini中mysqld節中添加
wait-timeout=60
//////顯示建立表的sql語句
show create table 表名
//////顯示行號
set @intIndex = 0;
select (@intIndex := @
intIndex + 1) as RowNum ,* from table;
//////設定字元集
set names 'utf8';
//////.Net調用Mysql預存程序 參數過大或過小
預存程序參數中 varchar
(1024) 中間的空格不能有,否則.net的dll無法判斷。
//////MySQL資料庫innoDB資料分開儲存
MySQL資料預設儲存在ibdata1檔案中。
如果要每張表使用單獨的innoDB檔案,修改my.ini檔案,增加下面配置innodb_file_per_table
然後重啟服務
//////Incorrect string value:
有可能是字串長度不夠了
Incorrect string value:
'\xE5\xBE\x97\xE4\xBB\xB7...' for column 'Content' at row
1.字元集全部調整為utf8。
2.超出字串長度。
各欄位類型長度
text 2^16-1
mediumtext
2^16-1
longtext 2^32-1
//////Mysql字串資料插入轉義處理
"\"替換為"\\""'"替換為"''"
定義變數
DECLARE TMP INT 定義局部變數 範圍begin 到 end 語句塊之間
SET @TMP = 1 定義使用者變數
SET @@TMP = 1 定義全域
預存程序/函數
//執行字串預存程序
DECLARE STRING_SQL LONGTEXT;
SET @TMP = STRING_SQL
PREPARE S1 FROM @TMP
EXECUTE S1;
DEALLOCATE PREPARE S1;
調用:EXECUTE PORC_XX PARM1,PARM2;
建立MYSQL服務
"{mysql目錄}/mysqld" --install Service_Name --defaults-file="{mysql目錄}\my.ini"
建立Database Backup
mysqldump --quick --host=127.0.0.1 --default-character-set=gbk --lock-tables -R --verbose -- force --port=3307 --user=root --password=root dbName -r "backup_path"
還原資料庫
mysql --host=127.0.0.1 --default-character-set=gbk --port=3307 --user=root --password=root dbName<"backup_path"
檢測連接埠號碼
netstat -ano
netstat -ano|findstr 3307