简体   繁体   English

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

[英]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_idpurchase_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.

相关问题 根据行将数据从一列插入另一MYSQL - Insert data from one column to another MYSQL based on row 使用mysql_fetch_assoc中的变量从多行中的一列输出数据? - using variable in mysql_fetch_assoc to output data from a column in a multi row.? 连续显示今天和一周前的数据。 在mysql中有可能吗? - Show data of today and one week earlier in one row. Is it possible in mysql? 根据特定日期和条件 MYSQL 选择数据 - Select data based on specific date and criteria MYSQL 我有一个鼠标悬停功能,可以根据每一行的值从数据库获取数据。 但是,它为所有行返回相同的值 - I have a mouseover function to get data from the database based on the value of each row. However, it is returning the same values for all row 插入时基于MAX()子查询安全地自动增加MySQL字段 - Safely auto increment MySQL field based on MAX() subquery upon insert 更新倍数行。 Mysql中密码明文转密码散列 - Update multiples row. Password plain text to password hash in Mysql MySQL表结构只有一行。 最佳管理和插入处理 - MySQL table structure with one row. Best handling for management and insertion GROUP BY mysql只显示一行。 但是也想要重复 - GROUP BY mysql showing only one row. But want repetitions also PHP跳过第一行MySQL。 不是常见的double fetch()错误 - Php skips first MySQL row. Not the common double fetch() mistake
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM