我正在从头开始创建CMS。 我正在寻找一种根据特定条件在数据库中设置值的方法。
这里的上下文是我要保存社区已报告的已删除或已编辑评论的记录。 然后,我想查看这些日志/记录,但是我很难定义这些值是否被删除或编辑。 (显然,这对于查看日志很重要)
这是我到目前为止插入日志的代码。
// Insert logs moderation
public function insertLogs($idCommentaire){
$sql ="INSERT INTO logs(com_id, com_date, com_author, com_content, post_id)
SELECT com_id, com_date, com_author, com_content, post_id FROM
comments WHERE com_id = ?";
$this->executeRequest($sql, array($idCommentaire));
}
现在,如果要对其进行修改或删除,我想对其进行设置,具体取决于我称之为SQL的方法,以下是删除示例:>
$this->admin->insertLogs($idCommentaire);
$this->admin->suppressCom($idCommentaire);
我已经从MySql中创建了一个新列ENUM(“已删除”“已修改”),但无法弄清楚如何用其中的数据更新此Logs表。
这是我正在考虑的SQL:
UPDATE logs SET type =("modified"OR"deleted") WHERE com_id = 70;
请注意,这不是一个好的编码,只是我想做的事情。
如果可以将所有内容组合到一个请求中,那么我在这里谈论的是纯MySQL。 否则,我会再设置1个请求,每个请求1个,但我不知道这样做是否真的很干净。
您对此有何建议和想法? 谢谢大家。
答案 0 :(得分:0)
您的逻辑还不错。但是,我会注意几件事。
TYPE
是MySQL和大多数RDBMS中的保留字。挑
您的列的另一个名称,指示是否有帖子
修改或删除。
帖子至少还有一个状态;被批准,或者
已发布或“可以”,或您要调用的任何名称。所以如果你
创建一个名为的ENUM字段
SomethingOtherThanTypeThatStillMeansType
或foo
或
post_status
或其他内容,包括所有潜在状态的字段
您的数据可能已被删除,包括已删除,修改,已发布,未发布_已发布,已编辑 ,或者您认为系统在将来进行某些功能更新时可能会支持的任何功能。
您可以考虑在状态字段中使用INT
类型。我是
认为这可能比ENUM
快一点。