gpt4 book ai didi

mysql - 如果完成则阻止 MySQL 更新

转载 作者:行者123 更新时间:2023-11-30 23:37:22 24 4
gpt4 key购买 nike

我的 MySQL 更新有问题。下面的代码有效,但我想阻止其他人再次尝试在字段“状态”中输入数据。

我该如何编写命令?

if(isset($_GET['up']))
{
if(strlen($_GET['up'])==71)
{
db_conn();
$raw = explode(":",$_GET['up']);
$sql = "UPDATE ".$database_table." SET status='".$raw[1]."',upl_time='".time()."' WHERE hash='".$raw[0]."' LIMIT 1";
if(mysql_query($sql))
{
print "ACK";
}
else
print "NACK";

}
exit;
}

最佳答案

有几种方法可以做到这一点:

  1. 添加一个字段 - IS_UPDATED - 到您的表以维护某种默认为 FALSE 的标志。然后在更新 status 字段的查询中,还将 IS_UPDATED 设置为 TRUE。此外,在更新查询中,将此条件添加到 where 子句 - IS_UPDATED = FALSE。这意味着 status 列只有在尚未更新时才会更新。

  2. 如果字段upl_time本来就是NULL或者空的,并且只是在上面的查询中更新了,当status列更新的时候,我想你可以以及使用此列而不是添加新列。但你更了解这一点。

  3. 我不确定您的应用程序更新查询的来源是什么。但如果可能,您也可以考虑向您的应用程序添加逻辑以完全禁用更新。

我更喜欢方法 1。

关于mysql - 如果完成则阻止 MySQL 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6396708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com