Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/142.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_On Duplicate Key - Fatal编程技术网

MySQL在重复密钥上合并数据

MySQL在重复密钥上合并数据,mysql,on-duplicate-key,Mysql,On Duplicate Key,我现在采用dashboard,我创建了两个表,用于从前端进行选择 数据\所选\历史记录 数据\u已选择\u现在 我的前端页面现在从选中的数据中获取数据,我的后端算法将新数据放入该数据库 我想现在将我的新数据放入data_SELECTED_, 当面对重复键时,前一个要推送到数据_SELECTED_HISTORY的数据 我想我可以使用交换表解决方案或insertselect子查询+重复键插入解决方案,但我再也没有想法了 如何在SQL中使用此解决方案?在这种情况下,您可以使用触发器,在插入到数据之前检

我现在采用dashboard,我创建了两个表,用于从前端进行选择

数据\所选\历史记录 数据\u已选择\u现在

我的前端页面现在从选中的数据中获取数据,我的后端算法将新数据放入该数据库

我想现在将我的新数据放入data_SELECTED_, 当面对重复键时,前一个要推送到数据_SELECTED_HISTORY的数据

我想我可以使用交换表解决方案或insertselect子查询+重复键插入解决方案,但我再也没有想法了


如何在SQL中使用此解决方案?

在这种情况下,您可以使用触发器,在插入到数据之前检查重复,如果重复,请检查下面的代码

创建触发器名称 在插入数据之前\u选择\u现在 每行 开始 如果存在,请从用户中选择1,其中key=NEW.key,然后 -您可以将key=NEW.key替换为要检查的逻辑 -插入数据\u选定\u历史记录 如果结束;
结束$$不清楚。。。是否希望每次插入新行时将最古老的行从此表移动到另一个表?如果为true,则无法在查询或通过触发器执行此操作,请使用存储过程来实现此目的。