根据同一个表中

时间:2017-06-08 02:47:18

标签: php mysql database

免责声明 - 我对MySQL和数据库/ PHP的世界非常陌生。但是,我已经被置于损坏控制的最后一刻,试图解决数据库问题。

背景:此站点具有上载功能,可以上载CSV(使用一致的模板)并将其插入名为“staging”的数据库表中。有很多专栏,但现在它只是一个表。数据显示在数据表的前端,供用户/管理员查看。

此人希望数据库使用MYSQL语句对某些数据进行QA / QC检查,我不确定如何执行此操作。我正在考虑一个潜在的UPDATE语句,但无论哪种方式,我都需要在上传后在触发器中完成此操作,这不会与实际上传冲突。

作为需要做的事情的一个例子:

其中一项检查是针对数据库中的两列:'lowSideMIUNumberDepart'和'lowSideMIUNumberArrive'。有时,这两个字段中的数字匹配,有时则不匹配。还有另一个名为'miu'的专栏依赖于这些专栏。因此,如果数字匹配,'miu'应该说“NO”,如果它们不同,则应该说“YES”。

这些是和否已经在CSV中,但需要检查以确保它是正确的。我需要找到一种方法来检查,以便如果数字匹配但'miu'表示YES,它可以标记差异或将其更改为适当的值。

还有其他类似的问题,但它们都遵循这种模式,所以我希望如果我找到一套QA,我可以将相同的练习应用到其他7套。

任何帮助或想法让这个工作将非常感激。

1 个答案:

答案 0 :(得分:1)

查看触发器文档:

Trigger Syntax and Examples

您可以构建一个触发器,只需将mui更新为insert上的正确值:

CREATE TRIGGER update_miu AFTER INSERT ON staging
       FOR EACH ROW 
       SET miu = IF(NEW.lowSideMIUNumberArrive = NEW.lowSideMIUNumberDepart,"YES","NO");
相关问题