繁体   English   中英

MYSQL触发器可将数据插入一行。 根据一些标准

[英]MYSQL trigger to insert data into a row. based upon some criteria

我有三张桌子

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_idpurchase_master表。

示例让我们说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

如果可以通过mysql触发器,请指导我。 否则,我必须在PHP中进行表单提交。

编辑::我正在使用phpmyadmin

尝试这样的事情:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM