如何使用列的最大值插入?

时间:2019-12-02 06:20:41

标签: sql postgresql

我有两种类型的插入内容,一种用于帖子中的新评论,另一种用于回复其他评论。

对评论的回复是

INSERT INTO event_comments(e_id, thread_id, date_posted, is_root, created_by, body, num_likes)

对于新评论,如何使用thread_id的最大值插入?

l

但是对于新注释,如何使用thread_id的值1插入? 我将插入值2,因为当前的最高thread_id值为1

INSERT INTO event_comments(e_id, thread_id, date_posted, is_root, created_by, body, num_likes)
VALUES(
   ..., 2, ..., ..., ..., ..., ...
)

3 个答案:

答案 0 :(得分:0)

您可以使用try { int s = 1 / 0; } catch (Exception e) { try { Date d = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sd = new SimpleDateFormat("yyyy_MM_dd"); String s = sdf.format(d); String day = sd.format(d); PrintStream ps = new PrintStream("src/log/"+day+"_Exception.log"); ps.println(s); System.setErr(ps); } catch (Exception e2) { } e.printStackTrace(System.err); } 。例如,对于使用INSERT INTO ... SELECT进行插入,您可以尝试:

e_id = 1

请注意,上面的插入仍然是单个语句,因此应该是原子的。也就是说,即使其他线程也正在读取并尝试执行插入操作,它们也不应干扰。

答案 1 :(得分:0)

您可以使用public function processLogin(Request $request) { $credentials = $request->only('seller_email'); $credentials['password'] = $request->input('seller_password'); // dd($credentials); if (Auth::guard('seller')->attempt($credentials)){ return redirect()->intended(route('seller.dashboard')); } return redirect()->back(); } 获取最新的threadID并将结果限制为1。

ORDER BY

答案 2 :(得分:0)

我将创建一个包含父代ID的可为空的thread_id字段。新线程是带有空thread_id的注释。这也允许嵌套线程。这也消除了对is_root字段的需要。我还将在页表中添加一个带有外键的page_id(如果没有该表,则在其中添加页url)。