MYSQL-错误1048(23000):列不能为空
我有一个表,我创建了一个SP将数据插入其中 当我运行SP时,我得到主题中的错误,如果我使用相同的数据运行手动插入,这将按预期工作 手动插入工作MYSQL-错误1048(23000):列不能为空,mysql,Mysql,我有一个表,我创建了一个SP将数据插入其中 当我运行SP时,我得到主题中的错误,如果我使用相同的数据运行手动插入,这将按预期工作 手动插入工作 INSERT INTO Leagues (LeagueName, PlatformID, GameID, ActiveStatus, Admin, PointsSys) VALUES ('LeagueName', 1, 1, 'Active', 'Test', 1); 调用SP不-返回错误“error 1048(23000):“LeagueN
INSERT INTO Leagues (LeagueName, PlatformID, GameID, ActiveStatus, Admin, PointsSys)
VALUES ('LeagueName', 1, 1, 'Active', 'Test', 1);
调用SP不-返回错误“error 1048(23000):“LeagueName”列不能为空”
CALL `tmddg-data`.`SP_CreateLeague`('LeagueName', 1, 1, 'Active', 'Test', 1)
创建表
CREATE TABLE `Leagues` (
`LeagueID` int(11) NOT NULL AUTO_INCREMENT,
`LeagueName` text NOT NULL,
`PlatformID` int(11) NOT NULL,
`GameID` int(11) NOT NULL,
`ActiveStatus` text NOT NULL,
`Admin` varchar(45) NOT NULL,
`PointsSys` int(11) DEFAULT '1',
PRIMARY KEY (`LeagueID`),
UNIQUE KEY `LeagueID_UNIQUE` (`LeagueID`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
创建SP
DELIMITER $$
CREATE PROCEDURE `SP_CreateLeague`(
LN TEXT,
PID INT,
GID INT,
ASt TEXT,
ADM VARCHAR(45),
PS INT)
BEGIN
DECLARE exit handler for SQLEXCEPTION
BEGIN
GET DIAGNOSTICS CONDITION 1 @sqlstate = RETURNED_SQLSTATE,
@errno = MYSQL_ERRNO, @text = MESSAGE_TEXT;
SET @full_error = CONCAT("ERROR ", @errno, " (", @sqlstate, "): ", @text);
SELECT @full_error;
END;
INSERT INTO Leagues (LeagueName, PlatformID, GameID, ActiveStatus, Admin, PointsSys)
VALUES ( @LN, @PID, @GID, @ASt, @ADM, @PS);
END$$
DELIMITER ;
删除
值
子句中的@
s
...
INSERT INTO ...
VALUES (LN,
PID,
GID,
ASt,
ADM,
PS);
...
删除
值
子句中的@
s
...
INSERT INTO ...
VALUES (LN,
PID,
GID,
ASt,
ADM,
PS);
...
插入时LeagueName的值为空,请检查插入前的值。插入时请检查LeagueName的值为空,请检查插入前的值。请检查啊,谢谢!完全错过了尝试!啊,谢谢你!完全错过了尝试!