Trending News
如何將Array放入MySQL?
我開了一個 int array,
請問MySQL的資料類型(Data Type)是什麼才能儲存這個array?
如果用implode() convert an array to a string,請問string會變成什麼?
因為我的array全部是int,不過有差不多6000千個int,如果我請它轉成string,MySQL能否承受得到?
2 Answers
- CYLv 51 decade agoFavorite Answer
的確 MySQL 沒有 data type for array.
可以用php functions: serialize() and unserialize()
存入前先將 array serialize
取出後 unserialize data 即得回原 array
如果確定 data 全是 int
用 implode() -- convert an array to a string
and
explode() -- convert a string to an array
可能比較省空間
2009-09-08 07:14:27 補充:
> 如果用implode() convert an array to a string,請問string會變成什麼?
例
$intArr = array(1,2,3,4);
// 以逗號分隔, 其他字符亦可 但數字不宜
$strToStore = implode(",",$intArr);
echo $strToStore; // 輸出 1,2,3,4
implode() 將array中的數字 以分隔字符串起 組成string
2009-09-08 07:40:40 補充:
>有差不多6000千個int,如果我請它轉成string,MySQL能否承受得到?
比較 $strToStore 的長度 與 MySQL欄位容量 即可知該選何種data type
或MySQL能否承受 (最長的LongText 欄位可存約 2^32 bytes. )
//$strToStore 的長度 可選一代表性array 來測試
$strLength = strlen($strToStore);
MySQL欄位容量 (version 5.0):
- YOGOLv 51 decade ago
MySQL沒有這種類型吧,若你要將陣列存到MySQL欄位中可參考這篇文章,原理是相同的
[教學]PHP多個核取方塊如何放到同一個欄位
http://blog.yogo.tw/2009/07/php.html
歡迎光臨YOGO生活誌 http://blog.yogo.tw/
2009-09-07 21:13:01 補充:
你自己參考一下MySQL欄位型態
http://dyna.hcc.edu.tw/php5/basic/courses/class4_1...
如果連LongText型態都無法儲存你的資料的話,那你的資料量也真的太大了
Source(s): 自己, 自己