【发布时间】:2016-06-15 22:18:29
【问题描述】:
我有这些INSERT 查询:
$db->prepare("INSERT INTO
events (post_id, table_code, other_id, user_id, author_id, date_time )
VALUES (? , 15 , ? , ? , ? , UNIX_TIMESTAMP()),
(? , 15 , ? , ? , ? , UNIX_TIMESTAMP())
")->execute(array($answer_id, $answer_id, $author_ques_id, $author_ques_id,
$answer_id, $answer_id, $author_ques_id, $author_ans_id));
如您所见,上面的查询将两行插入events 表中。现在我需要在第二行的路上设置一个条件。我的意思是如果 $condition 是 true 然后插入第二行,否则它不应该插入第二行。 (始终应插入第一行).
注意: $condition 总是包含一个布尔值。
那么,我怎样才能把那个条件放在第二行插入的方式上呢?
【问题讨论】:
-
你不能再做一个准备好的陈述吗?
-
@georaldc 是的,我可以..如果我强迫我会这样做..!但我认为有一种方法可以通过一个
INSERT查询来做到这一点。 -
您不必用您知道的 SQL 对其进行编程,只需让您的脚本做出决定即可。您不必在 1 行代码中解决所有问题。
-
只要少一行代码不会多花 5 行 sql...我相信总是更清晰的代码更好:-)
-
@Stack 我相信这叫做“过早的优化” ;-) 另外,我已经尝试在 SQL 中实现一些逻辑 - 相信我,它很快就会变得非常混乱......