[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