[英]MYSQL trigger to insert data into a row. based upon some criteria
I have three tables 我有三张桌子
purchase_master Purchase_master
+--------+---------+------------+
| autoid | user_id | package_id |
+--------+---------+------------+
user_master user_master
+--------+---------+------+------------+-----------+
| autoid | user_id | name | user_email | user_pass |
+--------+---------+------+------------+-----------+
package_master package_master
+-------------+----------+--------------+-----------+------------+---------------+------------+
| poster_path | overview | release_date | genre_ids | package_id | original_title| **isfree** |
+-------------+----------+--------------+-----------+------------+---------------+------------+
I want that whenever a new row is created into user_master
, a trigger should fire that gets all rows in package_master
where isfree = true
, and populate those records along with new user_master.user_id
into purchase_master
table. 我想,每当一个新行创建成
user_master
,触发应大火,获取所有行package_master
其中isfree = true
,并与沿填充这些记录new user_master.user_id
到purchase_master
表。
Example lets say package_master has 2 rows having package_id = 100 & package_id = 101, in which isfree=true so when a new record is created into user_master having user_id = C601, the purchase_master table should have 2 new entries like. 示例让我们说package_master有2行,其中package_id = 100&package_id = 101,其中isfree = true,因此当在具有user_id = C601的user_master中创建新记录时,purchase_master表应具有2个新条目。
"autoid" = 10,"user_id"=C601,"package_id"=100
"autoid" = 11,"user_id"=C601,"package_id"=101
Please guide me if it is possible through mysql trigger. 如果可以通过mysql触发器,请指导我。 Else I have to do it in PHP, on form submission.
否则,我必须在PHP中进行表单提交。
EDIT:: I am using phpmyadmin 编辑::我正在使用phpmyadmin
Try something like this: 尝试这样的事情:
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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.