Re: [請益] 上傳檔案問題
※ 引述《cjoe (cjoe)》之銘言:
: ※ 引述《marinne (乳瑪琳)》之銘言:
: : [del]
: : 交易功能如果你的mysql server有支援的話當然可以用啊。
: : mysql_query('BEGIN_TRANS');
: : mysql_query('INSERT INTO ...');
: : $inser_id = mysql_insert_id();
: : if(!move_uploaded_file($source, '/path/to/'.$insert_id.$file_extension)) {
: : mysql_query('ROLLBACK_TRANS');
: : do_error_handling();
: : }
: : mysql_query('COMMIT_TRANS');
: : 大致上是這樣。
: 請問,要在什麼版本或什麼條件下才有支援呢?
: 因為我之前聽說MySQL不支援 交易功能,例如rollback之類的。
: 謝謝
(說明一下,之前寫的BEGIN_TRANS / ROLLBACK_TRANS / COMMIT_TRANS這些
語法在mysql裡面實際用的語法不太一樣,不要直接複製去用)。
是否支援交易功能,和你選用的資料表形態有關,和mysql server的版本
比較無直接相關。要使用交易功能你必須使用BDB或者InnoDB作為資料表形態,
預設使用的myisam並不支援交易功能。並非一定要mysql 5才支援BDB或者InnoDB
資料表,在以前3.x的版本就有了,4.x也有。下載的時候要注意網頁上的說明,
看看下載的版本是否有支援這兩種資料表形態。
Windows版本的話,現在較新版本的mysql server都會附有安裝與設定程式,
在安裝過程中會問你要怎麼使用這個mysql server,其中會有支援交易功能
的選項,選這個就會把InnoDB納入。Linux/U*ix版本的話,有"Max"的版本
有納入。如果是mysql 5.x的話,所有的binary下載都會預設納入InnoDB。
要檢查已安裝的mysql server支援哪些儲存引擎類型,可以用SHOW ENGINES:
(以下結果有些太長我把後面刪掉了)
mysql> SHOW ENGINES;
+------------+---------+---------------------------------------------------+
| Engine | Support | Comment |
+------------+---------+---------------------------------------------------+
| MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great per....|
| HEAP | YES | Alias for MEMORY |
| MEMORY | YES | Hash based, stored in memory, useful for tempor.. |
| MERGE | YES | Collection of identical MyISAM tables |
| MRG_MYISAM | YES | Alias for MERGE |
| ISAM | NO | Obsolete storage engine, now replaced by MyISAM |
| MRG_ISAM | NO | Obsolete storage engine, now replaced by MERGE |
| InnoDB | YES | Supports transactions, row-level locking, and ... |
| INNOBASE | YES | Alias for INNODB |
| BDB | YES | Supports transactions and page-level locking |
| BERKELEYDB | YES | Alias for BDB |
| NDBCLUSTER | NO | Clustered, fault-tolerant, memory-based tables |
| NDB | NO | Alias for NDBCLUSTER |
| EXAMPLE | NO | Example storage engine |
| ARCHIVE | NO | Archive storage engine |
| CSV | NO | CSV storage engine |
| BLACKHOLE | NO | Storage engine designed to act as null storage |
+------------+---------+---------------------------------------------------+
17 rows in set (0.01 sec)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.153.37
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章