Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 每个IP地址每天在表中仅插入10次_Mysql_Sql_Pdo - Fatal编程技术网

Mysql 每个IP地址每天在表中仅插入10次

Mysql 每个IP地址每天在表中仅插入10次,mysql,sql,pdo,Mysql,Sql,Pdo,我将使用下表表示包含此数据的用户表: id-自动增量 用户名-唯一 密码-与问题无关 IP地址-每天仅允许10个用户创建 request_number—单个ip地址插入数据库的次数 如果不满足这些因素,有没有办法约束数据库在插入时引发错误 我将用PHP编写代码,我非常希望我不必执行两个查询,也不必用PHP测试事件来实现我的目标 我想找到一种完全在数据库模式中实现这些目标的方法。有办法吗 请不要,为什么不用php检查一下呢?这将比单个事务慢,我想找到一种方法来使用mysql表模式实现这一点,并在不

我将使用下表表示包含此数据的用户表:

id-自动增量

用户名-唯一

密码-与问题无关

IP地址-每天仅允许10个用户创建

request_number—单个ip地址插入数据库的次数

如果不满足这些因素,有没有办法约束数据库在插入时引发错误

我将用PHP编写代码,我非常希望我不必执行两个查询,也不必用PHP测试事件来实现我的目标

我想找到一种完全在数据库模式中实现这些目标的方法。有办法吗

请不要,为什么不用php检查一下呢?这将比单个事务慢,我想找到一种方法来使用mysql表模式实现这一点,并在不满足我的条件时引发异常


提前谢谢大家

根据评论,我不太清楚这是否足以满足回答的质量-使用信号将在PHP PDO>异常模式下被解释为异常。使用触发器检查条件,如果已经发生10次插入,则可以发出信号并停止执行。PHP PDO将正确地将其解释为异常,您可以从此处处理错误显示。

它将稍微慢一点。创建一个存储过程,并根据所述条件使用信号。PHP会将其解释为一个例外。这可能是我一直在寻找的答案。我的印象是PHP无法解释存储过程引发的异常。您可以在回答中详细说明吗?使用PDO并将其设置为异常模式可以将任何数据库错误捕获为异常。www.php.net/PDO非常好地介绍了这个主题,流行的php-ORMs理论非常有说服力,能够很好地处理这个问题。如果您在查找有关如何准确执行的信息时遇到问题,请逐行输入代码-我可以为您提供完整的示例,但我相信以正确的方式轻推他人通常比分发完成的代码更有帮助。我同意。。我的代码已经在这么做了!:我的意思是更多地使用存储过程发出信号。。并做出我能接受的回答。我希望我能投票10000次…我推荐约束触发器。见: