我有两个要使用SQL update语句更新的表。这两个表包含名为"oak“和"exp”的行,这是我想要更新的值。到目前为止,我最好的猜测是:
'UPDATE `items_woods`, `skills_woodcutting` SET `oak`=`oak`+1, `exp`=`exp`+13 WHERE `id`=?'但是,这些值都不会保存在数据库中。提前谢谢。
更新:
if ($stmt = $mysqli->prepare('
BEGIN TRANSACTION
UPDATE items_woods
SET items_woods.oak = ´1´
FROM items_woods T1, skills_woodcutting T2
WHERE T1.id = T2.id
and T1.id = ´?´
UPDATE skills_woodcutting
SET skills_woodcutting.exp = ´1´
FROM items_woods T1, skills_woodcutting T2
WHERE T1.id = T2.id
and T1.id = ´?´
COMMIT
')) {发布于 2014-02-17 05:51:07
SQL更新,一次只能更新一个表
使用具有两个update语句的事务
发布于 2014-02-17 05:50:09
因为有两个表,所以必须用两个单独的语句更新它们。可以使这两个事务成为单个事务,并仅在两个事务都成功后才提交这两个事务。
我不确定您使用的是什么数据库,但一般的方法是:
commit (start the transaction)
update items_woods set oak = oak+1 where id = ?
update skills_woodcutting set exp=exp+13 where id = ?
commit (complete the transaction)https://stackoverflow.com/questions/21817098
复制相似问题