$sql="update table set a=? where id=?"
$pre=$this->pdo->prepare($sql)
$this->pdo->beginTransaction()//开启事务
$bo=$pre->execute(array($val,$id))
if($bo){
//…执行代码……
$this->pdo->commit()//提交事务
return true
}else{
//…执行代码……
$this->pdo->rollBack()//回滚事务
return false
}
}
如果想带日志只有自己写了,可以使用row_count()返回改的的行数例如
create procedure p_a1(in p_id int,in p_name varchar(20),out p_out varchar(200))
begin
declare p_cm int
set p_cm = 0
insert into a1(id,name) values(p_id,p_name)
select row_count() into p_cm
if (p_cm = 1)
then
set p_out = '成功'
else
set p_out = '不成功'
end if
end
mysql>call p_a1(5,'KK',@a2)//
Query OK, 1 row affected (0.01 sec)
mysql>select @a2//
+--------+
| @a2|
+--------+
| 成功 |
+--------+
1 row in set (0.01 sec)
以上来自手打,希望对你有帮助!呵呵~
视图是一个虚拟表,是sql的查询结果,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据,在使用视图时动态生成。视图的数据变化会影响到基表,基表的数据变化也会影响到视图[insert update delete ] 创建视图需要create view 权限,并且对于查询涉及的列有select权限;使用create or replace 或者 alter修改视图,那么还需要改视图的drop权限。
创建视图的语法:
create view 视图名 as select 字段名 from 表名
例如:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)