【问题标题】:PHP/MYSQL Update only first row with defined valuePHP/MYSQL 仅更新具有定义值的第一行
【发布时间】:2014-03-13 22:33:26
【问题描述】:

我想使用约束更新我的数据库

for ($count = 0; $count <= $size; $count++) {
if($dayOfTheWeek[$count] == \"Friday\" or $dayOfTheWeek[$count] == \"Saturday\"){

$query = \"UPDATE rota SET title=\'Guest\' WHERE date = \'$dateMonthYearArr[$count]\' AND starttime = \'22:00\'\";               
$dayresult = mysql_query($query);}
}

我有多个用户,$starttime 为 22:00,但我只希望更新第一个用户的详细信息,其余的保持不变。我该怎么做呢?

  • ...附加LIMIT 1 :-)?但我闻到了可疑的数据库设计......至少也使用ORDER BY 子句,所以你的结果将被定义
  • mysql 自 5.5 起已弃用,您可以从 5.3 开始使用 mysqli_* 我建议移至该版本,wiki.php.net/rfc/mysql_deprecation

标签: php sql sql-update where


【解决方案1】:

如果您只想更改一条记录,可以将其附加到语句的末尾:

LIMIT 1

例如:

$query = "UPDATE rota SET title='Guest' WHERE date = '$dateMonthYearArr[$count]' AND starttime = '22:00' LIMIT 1";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-15
    • 2023-03-05
    • 1970-01-01
    • 2014-09-09
    • 1970-01-01
    • 2020-11-06
    • 2021-07-29
    • 2012-12-06
    相关资源
    最近更新 更多