2011-03-14 47 views
0

通過架構API(文件夾sites \ all \ modules \ mymodule中的文件mymodule.install)。 在mysql中觸發:如何將觸發器添加到mysql通過架構API

delimiter | 

    CREATE TRIGGER testref AFTER INSERT ON users 
     FOR EACH ROW BEGIN 
     INSERT INTO beep SET uid = NEW.uid; 
     END; 
    | 

    delimiter ; 

回答

0

沒有特定的API。

嘗試http://api.drupal.org/api/drupal/includes--database.pgsql.inc/function/db_query/6

還記得,觸發器不能跨不同的數據庫標準化。用hook_user()來做這件事會是一個好主意(或者可能是後備)。

+0

**請詳細解釋數據庫中觸發器與hook_user()之間的關係** – sepehr 2011-03-15 08:15:43

+0

當新記錄插入到{users}表中時,您的觸發器似乎正在做某些事情。這樣做的Drupal Way(TM)實現了hook_user(),$ op ='insert'。這將在新用戶插入數據庫後調用,然後您可以更新蜂鳴表 – Berdir 2011-03-15 09:30:17

+0

非常感謝。我在user.module的第326行中插入了代碼。 **這是工作** .'db_query('INSERT INTO {beep}(uid)VALUES(%d)',$ array ['uid']);' – sepehr 2011-03-15 15:38:24

相關問題