我正在尝试创建一个更新到表格的程序,但仍然会遇到一个"未知列'年龄'在'字段列表'"错误。我在这个之前创建了一个几乎完全相同的程序,这让我很困惑为什么这不起作用。下面是我的程序代码和表格布局。
DELIMITER $$
create procedure NewChild(IN FirstName varchar(50),
IN LastName varchar(50),
IN Age int(2),
IN Sex varchar(7),
IN UserID int(8),
IN Allg_Notes varchar(500)
)
BEGIN
INSERT INTO Client (FirstName,LastName,Age,Sex,UserID,Allg_Notes)
values (FirstName,LastName,Age,Sex,UserID,Allg_Notes);
End;$$
DELIMITER ;
CREATE TABLE `Child` (
`ChildID` int(8) NOT NULL AUTO_INCREMENT,
`FirstName` varchar(50) NOT NULL,
`LastName` varchar(50) NOT NULL,
`Age` int(2) NOT NULL,
`Sex` varchar(7) NOT NULL,
`UserID` int(8) NOT NULL,
`Allg_Notes` varchar(500) DEFAULT NULL,
PRIMARY KEY (`ChildID`),
KEY `UserID` (`UserID`),
CONSTRAINT `Child_ibfk_1` FOREIGN KEY (`UserID`) REFERENCES `Client`(`UserID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
Call NewChild('Jack','Person',2,'male',3,'none');
答案 0 :(得分:0)
您正在使用字段名称作为变量。
因此,而不是字段名称mysql将使用插入的值
答案 1 :(得分:0)
好 改变这个:
INSERT INTO Client (FirstName,LastName,Age,Sex,UserID,Allg_Notes)
到此
INSERT INTO Child (FirstName,LastName,Age,Sex,UserID,Allg_Notes)