Php 在更新期间递增SQL列
“我的用户帐户”表包含我创建的名为“捐赠硬币”的列 每当我执行更新查询以设置一个新值时,它只会删除旧值并重写为捐赠过程中定义的金额 如果x有10枚捐赠硬币,并再次捐赠15枚,他的捐赠硬币将是15枚而不是25枚 字段类型为INT,并启用了null 这是密码Php 在更新期间递增SQL列,php,sql,sql-server,Php,Sql,Sql Server,“我的用户帐户”表包含我创建的名为“捐赠硬币”的列 每当我执行更新查询以设置一个新值时,它只会删除旧值并重写为捐赠过程中定义的金额 如果x有10枚捐赠硬币,并再次捐赠15枚,他的捐赠硬币将是15枚而不是25枚 字段类型为INT,并启用了null 这是密码 connectdb($CONFIG['dbdbname'], $CONFIG['dbaddress'], $CONFIG['dbuser'], $CONFIG['dbpass']); $query = mssql_query("SELECT
connectdb($CONFIG['dbdbname'], $CONFIG['dbaddress'], $CONFIG['dbuser'], $CONFIG['dbpass']);
$query = mssql_query("SELECT * FROM user_account WHERE account = '".$account_username."'");
$row10 = mssql_fetch_array($query);
$old_coins = $row10['donation_coins'];
$transered_coins = $coin_quanity_coin;
$new_coins = $old_coins - $transered_coins;
//mssql_query("UPDATE [lin2db].[dbo].[user_account] SET [donation_coins] = '".$new_coins."' WHERE account = '".$account_username."'");
mssql_query("UPDATE [lin2db].[dbo].[user_account] SET [donation_coins] = donation_coins - ".$coin_quanity_coin." WHERE account = '".$account_username."'");
像这样做
update your_table
set x = x + 15
where id = :someId
像这样做
update your_table
set x = x + 15
where id = :someId
如果>SQL Server 2005,另一种方法
update user_account
set donation_coins += 15
where id = @someid
如果>SQL Server 2005,另一种方法
update user_account
set donation_coins += 15
where id = @someid
您只需为更新声明提供新硬币
mssql_query("UPDATE [lin2db].[dbo].[user_account] SET [donation_coins] = ".$new_coins." WHERE account = '".$account_username."'");
您只是在执行sql之前计算了新的金额
干杯,
马丁您只需为更新声明提供新硬币即可
mssql_query("UPDATE [lin2db].[dbo].[user_account] SET [donation_coins] = ".$new_coins." WHERE account = '".$account_username."'");
您只是在执行sql之前计算了新的金额
干杯,
Martin也许你应该分享你的查询/代码。是的,对不起,更新的问题。阅读上面的代码,我在更新中看到了。。设置捐赠硬币=捐赠硬币减去$coin\u Quantity\u硬币。您从何处获得$coin\u Quantity\u coin?也许您应该分享您的查询/代码。是的,对不起,更新的问题。阅读上面的代码,我在更新中看到。。设置捐赠硬币=捐赠硬币减去$coin\u Quantity\u硬币。你从哪里得到的$coin\u Quantity\u coin是什么?