2017-08-22 56 views
0

我有三個表MYSQL觸發器將數據插入到一行中。基於某些標準

purchase_master

+--------+---------+------------+ 
| autoid | user_id | package_id | 
+--------+---------+------------+ 

user_master

+--------+---------+------+------------+-----------+ 
| autoid | user_id | name | user_email | user_pass | 
+--------+---------+------+------------+-----------+ 

package_master

+-------------+----------+--------------+-----------+------------+---------------+------------+ 
| poster_path | overview | release_date | genre_ids | package_id | original_title| **isfree** | 
+-------------+----------+--------------+-----------+------------+---------------+------------+ 

我想,每當一個新行創建爲user_master,觸發應大火,獲取package_master其中isfree = true所有行,並填充new user_master.user_id沿着這些記錄到purchase_master表。

例 可以說package_master有兩行具有的package_id = 100 &的package_id = 101,其中isfree =真因此,當一個新的記錄被創建成具有USER_ID user_master = C601,所述purchase_master表應具有2個新的條目喜歡。

"autoid" = 10,"user_id"=C601,"package_id"=100 
"autoid" = 11,"user_id"=C601,"package_id"=101 

如果可以通過mysql觸發器,請引導我。否則,我必須在PHP中完成表單提交。

編輯::我使用phpMyAdmin

+0

這是可能的... –

+0

能否請您給我一些線索,我是新來的mysql,基本上是一個前端開發商。 – raju

回答

0

嘗試是這樣的:

CREATE TRIGGER bi_user_master BEFORE INSERT ON user_master 
    INSERT INTO purchase_master (user_id, package_id) 
    SELECT NEW.user_id, pm.package_id 
     FROM package_master AS pm 
     WHERE isfree; 
+0

什麼是New.user_id,它會給出錯誤。 – raju

+0

我正在使用phpmyadmin – raju

相關問題