Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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过滤器?_Mysql - Fatal编程技术网

如何实现基于触发器的mysql过滤器?

如何实现基于触发器的mysql过滤器?,mysql,Mysql,我想在mysql服务器端设置一个过滤器,这样客户端就不必担心消息是否有效。 e、 g,如果值>10,则接受,否则忽略 我想到的一种方法是在INSERT触发器之前设置,但我不知道删除无效值的正确方法。在INSERT delete起作用但不是一个选项后,我只希望服务器跳过对该选项的插入处理。谁能给我一个提示吗?谢谢这样的数据验证难道不是你在应用层要做的事情吗?插入之前的触发器会抛出错误并中止语句处理。但是触发器不会导致插入“忽略”一行。普通的INSERT语句不可能“过滤”某些行。(一旦BEFORE

我想在mysql服务器端设置一个过滤器,这样客户端就不必担心消息是否有效。 e、 g,如果值>10,则接受,否则忽略


我想到的一种方法是在INSERT
触发器之前设置,但我不知道删除无效值的正确方法。在INSERT delete起作用但不是一个选项后,我只希望服务器跳过对该选项的插入处理。谁能给我一个提示吗?谢谢

这样的数据验证难道不是你在应用层要做的事情吗?插入之前的
触发器会抛出错误并中止语句处理。但是触发器不会导致插入“忽略”一行。普通的INSERT语句不可能“过滤”某些行。(一旦BEFORE INSERT触发器完成,正常的插入处理将继续。触发器对此无能为力,只能抛出错误或设置某些列的值。)这将导致插入失败。正如建议的那样,您可以将非null值设置为null,这将引发错误,但此错误可能会产生误导。这可能有助于@spencer7593我注意到,throw error将跳过插入,但我担心这将影响mysql在高速插入时的性能。令人失望的是,mysql触发器不是ab要跳过插入过程,请执行以下操作:(。