MYSQL触发器将数据插入一行。基于一些标准

时间:2017-08-22 15:01:05

标签: php 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中的所有行,并将这些记录与{{1}一起填充进入new user_master.user_id表。

实施例 让我们说package_master有2行,包含package_id = 100& package_id = 101,其中 isfree = true 所以当一个新记录创建到user_master有user_id = C601时,purchase_master表应该有2个新条目,如。

purchase_master

如果有可能通过mysql触发器引导我。否则,我必须在表单提交中使用PHP。

编辑::我正在使用phpmyadmin

1 个答案:

答案 0 :(得分: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;