[SQL ] 請問mysql PDO的使用(更新問題說明)

作者: crossdunk (推噓自如)   2014-08-15 14:06:17
各位先進好
小弟使用MYSQL PDO一段時間了
但是還是不知道他正確的用法
對於資料庫也是一知半解
之前有問過資料庫很卡的問題...
有人回答可能中了TABLE LOCK的問題
但我不知道為什麼會有這個問題
所以來請教是不是我的寫法有誤
try {
//開始交易
$db_conn->beginTransaction();
$sql = "DELETE FROM `table`
WHERE table_num = :num";
$stmt = $db_conn->prepare($sql);
$stmt->bindParam(':num', $num);
$stmt->execute();
$db_conn->commit();
} catch (PDOException $e) {
//交易失敗,回復初始狀態
$db_conn->rollBack();
echo "A database problem has occurred: ". $e->getMessage();
exit;
}
$db_conn = null
beginTransaction只在UPDATE、INSERT有做
SELET的時候不做
像這樣會有TABLE LOCK的問題嗎?
麻煩各位先進為小弟解惑了
先謝謝了!
作者: GoalBased (Artificail Intelligence)   2014-08-15 15:22:00
你是甚麼情況下很卡呢
作者: bohei (run and fall)   2014-08-15 16:52:00
你先確定同時是不是有人在使用這筆資料另外你在做資料修改前,有先去LOCK看看嗎?你指的SQL的是單純的SELECT嗎?
作者: GoalBased (Artificail Intelligence)   2014-08-15 20:43:00
看起來不像lock你應該是程式端,裡面有寫select 把資料呈現到網頁上平常跑程式的時候是正常的,可是你上一個text在網頁上讓使用者在text輸入select....之後送出希望可以查到資料,結果卻卡住? 如果是的話 這可能是網頁的問題先看一下是程式卡住 還是資料庫卡住吧我不是寫PHP的..所以你說那個我不太清楚XD
作者: up9cloud (九天)   2014-08-15 23:16:00
你command line query看看吧,說不定是phpmyadmin問題另外建議你問問題時不要把phpmyadmin叫做資料庫,不是同概念東西...
作者: GoalBased (Artificail Intelligence)   2014-08-15 23:25:00
簡單的說你直接開資料庫下指令不會有問題用別的東西下指令會有問題,那問題應該是出在那東西上或者是資料庫與那東西的連接上,而不是那個TABLE
作者: Den3 (Den)   2014-08-19 20:24:00
我也有類似的問題,一用phpmyadmin就掛,甚至讓mysql的cpu高滿載,換成adminer或是mysql workbench就沒這個問題,應該是phpmyadmin的問題

Links booklink

Contact Us: admin [ a t ] ucptt.com