C# 尝试创建包含2个插入的存储过程
我对存储过程非常陌生。我试图创建一个存储过程,将记录插入到两个不同的表中,但遇到了一些问题 我使用C#编写代码,并将.NET连接器连接到MySQL 我有两个表,C# 尝试创建包含2个插入的存储过程,c#,mysql,stored-procedures,mysql-error-1064,C#,Mysql,Stored Procedures,Mysql Error 1064,我对存储过程非常陌生。我试图创建一个存储过程,将记录插入到两个不同的表中,但遇到了一些问题 我使用C#编写代码,并将.NET连接器连接到MySQL 我有两个表,prop\u details和prop\u accountprop\u details表有一个自动递增列(id),并且prop\u account表定义了一个与prop\u details.id匹配的外键prop\u id 以下伪代码解释了存储过程应该执行的操作: insert form elements into table prop_
prop\u details
和prop\u account
prop\u details
表有一个自动递增列(id),并且prop\u account
表定义了一个与prop\u details.id
匹配的外键prop\u id
以下伪代码解释了存储过程应该执行的操作:
insert form elements into table prop_details
insert relationship of prop_details.id into table prop_account
下面是我试图创建的存储过程
DROP PROCEDURE IF EXISTS `InsertPropertybyClientID`;
CREATE DEFINER = `root`@`localhost` PROCEDURE `InsertPropertybyClientID`(IN 'in_account' int(11), IN `in_title` varchar(100), IN 'in_type' int(2), IN 'in_active' tinyint(1), IN 'in_created' datetime)
BEGIN
INSERT INTO prop_details
(prop_title, prop_type, prop_active)
VALUES
(in_title, in_type, in_active, in_created);
INSERT INTO prop_account
(prop_id, acnt_id)
VALUES
(LAST_INSERT_ID(), in_account);
END;
在尝试保存存储过程时,出现以下错误
1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在第1行的“'in_account'int(11)、'in_title'varchar(100)、'in_type'int(2)和'in_ac'附近使用的正确语法
我做错了什么?实际上,错误详细信息表达了错误: 靠近“'in_account'int(11),'in_title'varchar(100),'in_type'int(2),'in_ac'第1行 在上的MySQL参考文档中,它指出: 标识符引号字符是反勾号(“`”): 及 如果启用ANSI_QUOTES SQL模式,也允许在双引号内引用标识符:
这意味着,除非启用
ANSI_QUOTES
SQL模式,否则不应使用单引号或双引号表示标识符。您可以使用backtick(`),也可以省略backtick(如果您使用的单词不是a)。请不要在参数名称周围加引号。i、 e.在IN_账户int(11)中使用,而不是在IN_账户int(11)中使用