首页 > 解决方案 > 只允许每天在 mysql 表中插入一次

问题描述

我需要做一个网络应用程序来收集来自不同服务的数据,并且我想限制每个商店每天只通过我的 sql 中的表单发布一次数据。

我尝试了不同的东西,但它们仍然重复或出现错误。

我的表是这样的:

$sql = "CREATE TABLE CA(
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    jour DateTime() NOT NULL,
    shop VARCHAR(30) NOT NULL,
    ca_done VARCHAR(30) NOT NULL,
    objectif VARCHAR(70) NOT NULL ,
    objectif_last_year VARCHAR(30) NOT NULL ,
    comments VARCHAR(70) NOT NULL 
)";

我试过的插入看起来像这样

$sql = "INSERT INTO CA (jour,shop, ca_done, objectif, objectif_last_year, comments) VALUES ('$jour','$shop', '$ca_done', '$objectif', '$objectif_last_year', '$comments') " 
 ;

我希望商店每天只能发布一次或更新他们的每日行而不创建重复项。

标签: phpmysql

解决方案


将列添加到表insert_date中,您将在其中存储插入日期。

然后在该表上创建插入触发器,您将在其中检查特定商店当天是否已插入任何内容。基于此,您可以防止插入。

或者更好的是,您可以在shop, insert_date.


推荐阅读