首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Update语句语法

问SQL Update语句语法
EN

Stack Overflow用户
提问于 2014-02-17 05:44:15
回答 2查看 136关注 0票数 1

我有两个要使用SQL update语句更新的表。这两个表包含名为"oak“和"exp”的行,这是我想要更新的值。到目前为止,我最好的猜测是:

代码语言:javascript
复制
'UPDATE `items_woods`, `skills_woodcutting` SET `oak`=`oak`+1, `exp`=`exp`+13 WHERE `id`=?'

但是,这些值都不会保存在数据库中。提前谢谢。

更新:

代码语言:javascript
复制
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


        ')) {
EN

回答 2

Stack Overflow用户

发布于 2014-02-17 05:51:07

SQL更新,一次只能更新一个表

使用具有两个update语句的事务

票数 1
EN

Stack Overflow用户

发布于 2014-02-17 05:50:09

因为有两个表,所以必须用两个单独的语句更新它们。可以使这两个事务成为单个事务,并仅在两个事务都成功后才提交这两个事务。

我不确定您使用的是什么数据库,但一般的方法是:

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21817098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档