【发布时间】:2014-08-26 17:38:33
【问题描述】:
我有一个用 PHP 编写的脚本,其中的这一行可以正常工作以选择我需要的数据;
$result = mysql_query("SELECT product_name, sku, qty FROM supplier_dropship_items WHERE supplier_id = '3' AND status = '2'", $db_beb);
我正在苦苦挣扎的是一种更新我选择的记录的方法,一旦选择我需要更改status = '1',以便下次我的脚本运行时它不会在选择中提取相同的数据和只会拉出表中状态为 2 的新项目。
感谢下面接受的答案的 cmets,这是我的工作结果;
$result = mysql_query("SELECT id, product_name, sku, qty FROM supplier_dropship_items WHERE supplier_id = '3' AND status = '2' FOR UPDATE", $db_beb);
while($row = mysql_fetch_assoc($result))
{
$sql_table_data[] = $row;
mysql_query("UPDATE supplier_dropship_items SET status=1 WHERE id='".$row['id']."'", $db_beb);
}
【问题讨论】:
-
选择查询后运行更新查询
-
好的,对不起,我正在学习 MySQL。如果我在选择之后进行了单独更新,我可以从技术上更改可能在选择之后添加的产品,那么下次脚本运行时将无法选择该产品?如果这有意义的话。
-
如果您只更新您首先选择的 SKU,则不会。 (或者提示您的主键是什么)
-
您是否在表中定义了任何主键,如果有,那么您可以运行
update table set status = '1' where primarykey_column in(primaykey ids of selected records)
标签: mysql select sql-update