2012-10-04 41 views
0

我是新來創建觸發器,但我需要它,因爲我使用一些ID的持久存儲。插入觸發器可以進行更新嗎?

我有表RECEIPT與列RECEIPT_ID

和表CONFIG_DB列和值:

NAME    VALUE 
--------------- ----- 
NEXT_RECEIPT_ID  1 

,我創造了這個觸發

CREATE TRIGGER UPDATE_RECEPCION_ID 

AFTER INSERT ON RECEIPT 

FOR EACH ROW 

BEGIN 

UPDATE CONFIG_DB SET VALUE=VALUE+1; 

END  
; 

我不知道如果這是好的...我想要的是,我插入一個新的RECEIPT_IDVALUECONFIG_DB增加1.非常感謝。

編輯:我在MySQL 5.2.40工作臺工作與MySQL服務器5.5.25

+1

*** *** SQL只是*結構化查詢語言* - 許多數據庫系統使用的語言,但不是數據庫產品...類似觸發器的東西是高度特定於供應商的 - 所以我們確實需要知道您正在使用的數據庫系統**(以及哪個版本)。 ... –

+0

其Mysql 5.5.25 – Washu

+0

看來你正在使用該「CONFIG_DB」表來生成唯一的數字。別。改用auto_increment。 –

回答

0

使用下面的查詢創建觸發器

delimiter | 
CREATE 
    TRIGGER `UPDATE_RECEPCION_ID` 
    AFTER INSERT ON `RECEIPT` 
    FOR EACH ROW BEGIN 
    UPDATE CONFIG_DB SET VALUE=VALUE+1 
    WHERE NAME='NEXT_RECEIPT_ID'; 
    END; 
    | 
+0

多數民衆贊成這正是我如何結束它這樣做xD謝謝 – Washu

+1

@WASHU - 不客氣 –