我想在选择查询后进行更新查询。
第一个SELECT查询,<?php
include_once 'Includes/dbh.inc.php';
$Title = $_POST['Title'];
$content = $_POST['Text1'];
$sql = "INSERT INTO posts (title, main) VALUES ('$Title', '$content');";
mysqli_query($conn, $sql);
header("Location: ../Backend.php?Post=success");
?>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Backend</title>
<link href="https://fonts.googleapis.com/css?family=Raleway" rel="stylesheet">
<link rel="stylesheet" tyle="text/css" href="Style.css">
</head>
<body>
<div class="head">
<h1>Make A Post</h1>
<a href="Backend.delete.php">delete a post</a>
</div>
<form action="Includes/Post.inc.php" method="POST">
<input type="text" id = "title" name="Title" placeholder="Title">
<br>
<textarea name="Text1" id= "content" placeholder="Content(1000 charecter limit)...." cols="90" rows="20"></textarea>
<br>
<button type="submit" id = "submit" name="submit">Post!</button>
</form>
</body>
</html>
此选择查询基于seq,检索最后插入的记录。
我想要更新此记录。
第二次更新查询,SELECT * from be_settings order by seq desc limit 1
。
如何在选择查询后更新查询?
感谢。
答案 0 :(得分:1)
您可以通过子查询更新来执行此操作:
UPDATE be_settings
SET appgubun = 'CCTV', running = 'on'
WHERE seq = (SELECT t.max_seq FROM (SELECT MAX(seq) AS max_seq FROM be_settings) t );
WHERE
子句中的子查询是必需的,因为它涉及be_settings
表,它是更新的目标。以下内容会出错:
WHERE seq = (SELECT MAX(seq) FROM be_settings)
答案 1 :(得分:0)
你需要做
UPDATE be_settings set appgubun ='CCTV', running ='on' where seq= '4'
假设seq
上有be_settings
列,并且它是主键。
和4是您从select query
获得的最后一个插入ID。
如果你在基于编程语言的任何变量中得到那个seq,那么你必须使用那个特定的变量。
如果您不想使用子查询,则需要这样做。