我是mysql存儲過程的新手。我一直試圖通過我在下面創建的存儲過程插入數據。該過程確實返回@USER_ID。但是,該過程不會將數據插入表中。MySQL存儲過程沒有插入數據,儘管返回ID
//存儲過程
DELIMITER $$
CREATE PROCEDURE USP_USR_PROFILE_InsProfile(
IN FIRST_NAME varchar(50),
IN LAST_NAME varchar(50),
IN EMAIL_ADDRESS varchar(50),
IN PASSWORD varchar(256),
IN DOB date,
IN GENDER varchar(10),
IN TIMEZONE varchar(100),
IN NATIONALITY_ID int(11),
IN RESIDENCE_CTRY_ID int(11),
IN ADDRESS_LINE1 varchar(200),
IN ADDRESS_LINE2 varchar(200),
IN ADDRESS_LINE3 varchar(200),
IN PO_BOX varchar(50),
IN CITY_TOWN varchar(50),
IN POSTCODE_ZIP varchar(50),
IN STATE_PROVINCE_REGION VARCHAR(50),
IN DESCRIPTION varchar(500),
IN PROFILE_IMAGE_NAME varchar(50),
IN PROFILE_IMAGE_LOCATION varchar(100),
IN LAST_UPDATED_USER int(11),
OUT USER_ID int(11))
BEGIN
--table with only auto increate col
INSERT INTO SEQ_USR_PROFILE_USER_ID(ID) VALUES (NULL);
SELECT @USER_ID := MAX(ID) FROM SEQ_USR_PROFILE_USER_ID;
INSERT INTO TBL_USR_PROFILE (
USER_ID,
FIRST_NAME,
LAST_NAME,
EMAIL_ADDRESS,
PASSWORD,
DOB,
GENDER,
TIMEZONE,
NATIONALITY_ID,
RESIDENCE_CTRY_ID,
ADDRESS_LINE1,
ADDRESS_LINE2,
ADDRESS_LINE3,
PO_BOX,
CITY_TOWN,
STATE_PROVINCE_REGION,
DESCRIPTION,
CREATED_DATE,
PROFILE_IMAGE_NAME,
PROFILE_IMAGE_LOCATION,
STATUS_ID,
LAST_UPDATED_DATE,
LAST_UPDATED_USER)
VALUES (
@USER_ID,
@FIRST_NAME,
@LAST_NAME,
@EMAIL_ADDRESS,
@PASSWORD,
@DOB,
@GENDER,
@TIMEZONE,
@NATIONALITY_ID,
@RESIDENCE_CTRY_ID,
@ADDRESS_LINE1,
@ADDRESS_LINE2,
@ADDRESS_LINE3,
@PO_BOX,
@CITY_TOWN,
@STATE_PROVINCE_REGION,
@DESCRIPTION,
CURRENT_TIMESTAMP,
@PROFILE_IMAGE_NAME,
@PROFILE_IMAGE_LOCATION,
1, -- STATUS ACTIVE
CURRENT_TIMESTAMP,
@LAST_UPDATED_USER)
END $$
DELIMITER ;
//執行
CALL `USP_USR_PROFILE_InsProfile`('System Administrator', '', '[email protected]', '1234567', '2015-08-09', 'MALE', 'Universal Time', '1', '1','','','','','','','','','','',0, @USER_ID);
//創建表
DROP TABLE IF EXISTS `TBL_USR_PROFILE`;
CREATE TABLE `TBL_USR_PROFILE` (
`RUNNING_ID` int(11) NOT NULL AUTO_INCREMENT,
`USER_ID` int(11) NOT NULL,
`FIRST_NAME` varchar(50) NOT NULL,
`LAST_NAME` varchar(50) NOT NULL,
`EMAIL_ADDRESS` varchar(50) NOT NULL,
`PASSWORD` varchar(256) NOT NULL,
`DOB` date NOT NULL,
`GENDER` varchar(10) NOT NULL,
`TIMEZONE` varchar(100) NOT NULL,
`NATIONALITY_ID` int(11) NOT NULL,
`RESIDENCE_CTRY_ID` int(11) NOT NULL,
`ADDRESS_LINE1` varchar(200) DEFAULT NULL,
`ADDRESS_LINE2` varchar(200) DEFAULT NULL,
`ADDRESS_LINE3` varchar(200) DEFAULT NULL,
`PO_BOX` varchar(50) DEFAULT NULL,
`CITY_TOWN` varchar(50) DEFAULT NULL,
`POSTCODE_ZIP` varchar(50) DEFAULT NULL,
`STATE_PROVINCE_REGION` varchar(50) DEFAULT NULL,
`DESCRIPTION` varchar(500) DEFAULT NULL,
`CREATED_DATE` datetime NOT NULL,
`PROFILE_IMAGE_NAME` varchar(50) DEFAULT NULL,
`PROFILE_IMAGE_LOCATION` varchar(100) DEFAULT NULL,
`STATUS_ID` int(11) NOT NULL,
`LAST_UPDATED_DATE` datetime NOT NULL,
`LAST_UPDATED_USER` int(11) NOT NULL,
PRIMARY KEY (`USER_ID`),
KEY `RUNNING_ID` (`RUNNING_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
感激,如果任何一個可以提供幫助。提前致謝。