晚上小研究了下mysql儲存於讀取二進位制資料的功能。關鍵步驟為以下三點:
最重要的一點:儲存二進位制資料的表的型別需要是blob型別(按長度不同分為tiny, media,long)
插入二進位制資料時需要利用mysql_real_escape_string函式對資料進行轉換
從資料庫中讀取二進位制資料時需要利用mysql_fetch_length函式字段長度,該函式需要在mysql_fetch_row呼叫後才可以正常獲取結果
給出乙個用c寫的乙個儲存與讀取欄位的小例子,寫的比較粗獷,見諒哈~先來乙個插入:
複製**intdb_insert_object(void *object, unsigned intobjsize)
/*convert binary string*/escape_object= (char *)malloc(escape_size);if( escape_object ==null )/*get object*/ret=mysql_real_query(mysql, sql, strlen(sql));if( ret )/*important*/row=mysql_fetch_row(res);
row_len= mysql_fetch_lengths(res); /*get the object's length*/
if( row_len ==null ){gotoerror2;
objsize= row_len[0];object = (char*)malloc(objsize);if( object ==null ){gotoerror2;
memcpy(object, row[0], objsize);
mysql_close(mysql);
mysql_free_result(res);return (void*)object;
error2:
printf("error: %s\n", mysql_error(mysql));if( res ) mysql_free_result(res);if( mysql ) mysql_close(mysql);if( object ) free(object);returnnull;
mysql二進位制 MySql二進位制連線方式詳解
使用mysql二進位制方式連線 您可以使用mysql二進位制方式進入到mysql命令提示符下來連線mysql資料庫。例項以下是從命令列中連線mysql伺服器的簡單例項 root host mysql u root p enter password 在登入成功後會出現 mysql 命令提示視窗,你可以...
mysql二進位制恢復 mysql二進位制日誌恢復
二進位制日誌匯出 1.按時間節點匯出 no defaults 用來對mysql5.5之前mysqlbinlog命令報錯 mysqlbinlog no defaults start date 2017 08 08 15 04 04 stop date 2017 08 08 15 12 00 progr...
mysql二進位制方式 MySql二進位制連線方式詳解
使用mysql二進位制方式連線 您可以使用mysql二進位制方式進入到mysql命令提示符下來連線mysql資料庫。例項以下是從命令列中連線mysql伺服器的簡單例項 複製 如下 root host mysql u root p enter password 在登入成功後會出現 mysql 命令提示...