2017-03-28 80 views
0
TABLEA (id - gcoins) 
TABLEB (id - prezzo) 

我应该做一种减法:在'gcoins'的数字/值减去'prezzo'的数字/值。更新表a和表b

我想:

UPDATE TABLEA SET TABLEA.gcoins = TABLEA.gcoins - TABLEB.prezzo FROM TABLEA JOIN TABLEB ON TABLEA.id = TABLEB.id; 

我在这个网站的问题,在2010年的读取相同的代码,但不能正常工作。

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM TABLEA JOIN TABLEB ON TABLEA.id = TABLEB.id' at line 1

回答

0

试试这个重写。

UPDATE TABLEA JOIN TABLEB 
      ON TABLEA.id = TABLEB.id 
SET  TABLEA.gcoins = TABLEA.gcoins - TABLEB.prezzo 
+0

当我使用TableA或TableB时,我不会拒绝你的代码。因为如果我知道TA是桌子的名字,那是对的吗?关于@TableA和TA的不同? – Giuseppe

+0

错误是什么:您的SQL语法错误;检查与您的MySQL服务器版本相对应的手册,以便在第1行的FROM tablea AS tablea JOIN tableb AS tableb ON tablea.id ='附近使用正确的语法 代码:UPDATE tablea SET gcoins = tablea.gcoins - tableb。 prezzo FROM tablea AS tablea JOIN tableb AS tableb ON tablea.id = tableb.id; – Giuseppe

+0

所以我有一个问题。当我点击并“购买”第1行时没问题,但是如果我购买第2行,这是不正确的,因为行“prezzo”在1和2之间不同,但是出现相同的“prezzo”。如果我买(我是id = 1),那也是一样的,但如果不是mybb_users.2,这是错误的,因为不要删除“gcoins”。我想为“id”和“uid”添加一个变量,但是语法错误和错误。我如何添加变量,如果我可以添加变量或代码不正确 – Giuseppe

0

你写了“UPDATE TABLEA.gcoins”,你不需要再写“FROM TABLEA.gcoins”。加入更新值后去,见上面这个例子:

尝试写: UPDATE(你的表)JOIN(您的加入)ON(您加入比较)SET(您的更新),WHERE(如果你希望你的clausure)

+0

我不明白您的部分代码: UPDATE TABLEA JOIN TABLEB ON TABLEA.gcoins = TABLEA.gcoins - TABLEB.prezzo SET? WHERE TABLEA.id = TABLEB.id; – Giuseppe

+0

我不明白“ON”和“SET”的代码,如果其他代码对你来说是正确的 – Giuseppe

相关问题