1

我正在 Mysql 中创建一个存储过程。如何传递将接受 null 的值?

我知道在 SQL Server 2008 R2 中,我确实喜欢这样

@name varchar(10) = null

但是我怎么能在 Mysql 中做到这一点?

    DELIMITER $$
         CREATE PROCEDURE `ipm_website`.`uspInsertFuelBuyDetails`( promotion_code VARCHAR(45)=NULL,eventid INT,Erid INT, first_name VARCHAR(255)=NULL,last_Name)
     BEGIN
       INSERT INTO ipm_fuel.TBL_EVENT_PAYMENTS 
      (promotion_code, EVENT_ID, EVENT_RATE_ID, FIRST_NAME, LAST_NAME, PHONE_NUMBER, EMAIL, ADDRESS1, ADDRESS2,
       CITY, STATE, ZIPCODE, card_type, card_number, exmonth, exyear, total_amount,
        admin_fee, license_plate, guid, date_added) 
VALUES (promotion_code, eventid, Erid ,first_name ,last_Name ,phoneNo , email, address1, address2, city , state, ZIPCODE, card_type, card_no, exmonth, exyear, total_amount, admin_fee, licanse_plate,
         guid, date_added);
       END$$
    DELIMITER ;

我该怎么做,以及如何在参数中允许空值?

4

1 回答 1

4

在您的查询中,不需要传递NULL,您可以简单地跳过要在 insert 子句中放置NULL的列。

于 2014-02-11T12:05:44.673 回答