gpt4 book ai didi

php - MySQL触发器: How do I only insert if a certain column is populated?

转载 作者:行者123 更新时间:2023-11-29 12:19:29 24 4
gpt4 key购买 nike

我有两个表:1)订单2) 交易 - 存储购物者的忠诚度积分

现在,在我的代码(PHP)中,我有一个特定的列(点 - 仅当用户捕获了他的成员(member)卡号时才将其输入到订单表中,否则它保持为空)。

如果积分被插入到我的订单表上的积分列中(换句话说,如果购物者获得了积分),则应触发触发器并将订单表中的一堆值(包括积分)插入到交易表。

问题 1) 这是后插入。如何从刚刚插入订单表的行中获取值?

问题 2) 仅当点列有值时,如何才能实现此目的?

编辑:每次将某些内容插入订单表时,触发器都会触发,但只有当orders.points列中有值时,才必须在交易表中添加条目。

以下是表格:

订单:

Field                Null  Key  Extra           
order_id
user_id NO MUL
vendor_id NO MUL
order_number YES MUL
user_info_id YES MUL
order_total NO
order_subtotal YES
order_tax YES
order_tax_details NO
order_shipping YES
order_shipping_tax YES
coupon_discount NO
coupon_code YES
order_discount NO
order_currency YES
order_status YES
cdate YES
mdate YES
ship_method_id YES MUL
customer_note NO
ip_address NO
waybill_number YES
shipping_carrier_id YES
shipping_location NO
insurance NO
points YES
loyalty_card_number YES

交易:

Field               Null  Key  Extra           
id NO PRI auto_increment
transactiontypeid NO MUL
orderid NO
orderstatusid_from NO
orderstatusid_to NO
ordervalue NO
points YES
loyaltycardnumber YES
integrationfileid YES
createduserid NO
createddate NO

我对触发器还很陌生(如您所见) - 感谢您的帮助。

J

最佳答案

请尝试这样,

CREATE TRIGGER trigger_name
AFTER INSERT
ON ORDER FOR EACH ROW

BEGIN

// you can access your inserted row value like this
if (new.points > 0)
{
//your insertion code goes here
}

END;

关于php - MySQL触发器: How do I only insert if a certain column is populated?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29253217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com