2017-10-16 88 views
0

我有一个数据库表,我想检索API-KEY列值并更新同一行的1的USED-VALUE列。我想获取API-KEY值,直到USED-VALUE达到20,如果达到20,那么我将从下一行检索API-KEY值并将USED-VALUE列更新为1。我想这是重复所有行。 我附上我的表在这里从MySQL表的一列获取字符串值,并更新其同一行的其他列值

enter image description here

+1

也许你忘了粘贴您的PHP代码和有关表结构的全部细节? –

+0

所有的列都是VARCHAR,我不知道如何开始完成这个任务 –

+0

为什么varchar?使用适当的数据类型。 – jarlh

回答

2

获取第一行,其中used_val是< 20日期排列

SELECT * FROM <table> WHERE used_val < 20 ORDER BY today_date DESC LIMIT 1; 

然后得到的ID和更新used_val

UPDATE <table> SET used_val = CAST(used_val as INTEGER) + 1 WHERE id = <id_retrieved>; 

注意:你应该为每一列使用适当的数据类型。

  • today_date应该是日期时间或时间戳
  • used_val应该是整数
+0

today_date对于所有行都是一样的,我很感谢你的帮助,请你给我更多的代码,我怎么能得到ID等,请 –

+0

我知道我将永远在这张表中有5条记录,我会从第一行获取api_key,直到其使用的值达到20,然后我将从下一行获取api-key,依此类推。 –

+0

这取决于你想要如何订购你的“get api”。按ID或由api_key,ASC或DESC排序。看看这个页面,了解如何执行查询并从php获取结果:https://www.w3schools.com/php/php_mysql_select.asp从第一个查询中获取ID,然后用第二个查询更新 – fattidare

相关问题