0
我通過互聯網找到更新兩個表的最佳做法,我決定在MySQL中創建存儲過程插入數據。我不知道如何從存儲過程傳遞日期時間或時間戳以插入表中。我對MySQL很新,並且遇到了一些錯誤。我的存儲過程是這樣的:我的第一個MySQL存儲過程更新兩個表有一些錯誤
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_insertUser`(
IN userId int(11)
, IN userName varchar(15)
, IN passWord varchar(15)
, IN create_DateStamp datetime
, IN update_DateStamp datetime
BEGIN
INSERT INTO `Php_Project`.`User`
(userId,
userName,
passWord,
create_DateStamp,
update_DateStamp)
VALUES
(
userId,
userName,
passWord,
create_DateStamp,
update_DateStamp
);
我也有觸發create_Datestamp爲:
USE `Php_Project`;
DELIMITER $$
CREATE DEFINER=`root`@`localhost` TRIGGER `User_BINS` BEFORE INSERT ON `User` FOR EACH ROW
BEGIN
-- Set the creation date
SET new.create_DateStamp= now();
End
我已經在MySQL Workbenck創造了這個。錯誤是當我嘗試調用存儲過程在查詢窗口爲:
CALL `Php_Project`.`sp_insertUser`(1234,surajnew55,password,now(),now());
錯誤說:錯誤代碼:1054未知列「surajnew55」在「字段列表」 0.000秒 請幫我弄清楚怎麼回事在這種情況下工作。
改變輸入ARG '用戶名VARCHAR(15)' 傳遞這個
字符串值是「IN theUserName VARCHAR(15) 」。然後將VALUES部分更改爲使用'theUserName'而不是'userName'。我非常確定存儲的項目會被作爲輸入參數超載的userName列弄糊塗。對所有這些列/ inp參數名稱執行相同操作,以便列名與輸入參數名稱不同。 – robnick
@robnick你釘了它。多謝,夥計。 – surajnew55