doz97171 2018-04-06 07:42
浏览 89

MySql Trigger无法更新MySql表

I have two table of box and box archive for this purpose I write triger which move data from box to box_archived table when user delete box and box archive table data update for this purpose I write following mysql trigger but when I delete box then I receive following error

SQLSTATE[HY000]: General error: 1442 Can't update table 'box' in stored function/trigger because it is already used by statement which invoked this stored function/trigger. (SQL: update `box` set `archive` = 1, `updated_at` = 2018-04-06 07:31:57 where `id` = 48116 and `user_id` = 87)

Below is my trigger code which i write in phpmyadmin MySql

DROP TRIGGER IF EXISTS `move_archived_box`;CREATE DEFINER=`root`@`localhost` TRIGGER `move_archived_box` AFTER UPDATE ON `box` FOR EACH ROW begin 
    insert into box_archived
        select * from box where archive = 1; 
    delete from box where archive = 1; 
 end;

I also run trigger only when only archive column is update

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 有人能看一下我宿舍管理系统的报修功能该怎么改啊?链表那里总是越界
    • ¥15 cs loadimage运行不了,easyx也下了,没有用
    • ¥15 r包runway详细安装教程
    • ¥15 Html中读取Json文件中数据并制作表格
    • ¥15 谁有RH342练习环境
    • ¥15 STM32F407 DMA中断问题
    • ¥15 uniapp连接阿里云无法发布消息和订阅
    • ¥25 麦当劳点餐系统代码纠错
    • ¥15 轮班监督委员会问题。
    • ¥20 关于变压器的具体案例分析