php - MySQL:更新第一个可用列为空的行

标签 php mysql sql database

我有一个表格,用于跟踪用户与其网站的其他各个方面之间的某些关联。

我需要能够获取第一个可用行并更新其中的一个或两个列...标准是 user_id 列是否已被使用。

id | tag_id | user_id | product_id

如果某行有可用标签,但未分配 user_id,我希望能够使用和更新该行以获取最新购买的产品。

1 | 100001 | 29 | 66  
2 | 100002 | 0  | 0 
3 | 100003 | 0  | 0

如您所见,第二行将是第一个符合条件的候选人。

我只是不确定为了实现这一点需要什么 SQL

最佳答案

UPDATE yourTablename SET user_id = 'your value for userid',
product_id='ur value for productid' WHERE id=(select min(id) where user_id='0');

已经告诉过的替代方法是有效的,但是如果你的表有 id 排序

UPDATE yourTablename SET user_id = 'your value for userid',
product_id='ur value for productid' where user_id='0' LIMIT 1;

关于php - MySQL:更新第一个可用列为空的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12078853/

相关文章:

javascript - 使用 javascript 使用 PHP Web 服务(客户端编程) Sharepoint

PHP 使用准备语句插入查询

mysql - 我需要什么样的 JOIN 或 WHERE 子句?

mysql - 单一月度发票交付时付款的规范化表(含全部应付余额)

javascript - 向php请求信息

php - 用于 facebook/heroku 的 AS3 postgresql 和 amfphp?

PHP 垃圾收集器统计

brew 从 5.6 升级到 5.7 后 MySQL 不启动

java - JVM 性能、线程负载和分析,以优化基于 Java 的项目的性能

MYSQL:从两个不同的表中选择 VARCHAR 字段中的最大值