Mysql 无法理解为什么会出现错误
我得到一个错误代码:1327Mysql 无法理解为什么会出现错误,mysql,mysql-workbench,Mysql,Mysql Workbench,我得到一个错误代码:1327 Undeclared variable; order_id. 我已经看了几个小时的代码,不知道哪里会出错。我想它可能会链接到选择最后一次插入 使用数据名称 跌落程序(若存在)试验; 分隔符// 程序测试 开始 声明sql_error INT DEFAULT FALSE; 为SQLEXCEPTION声明继续处理程序 设置sql_error=TRUE; 启动交易; 在订单中插入值 默认值,3,现在为'10.00','0.00',NULL,4, ‘美国运通’、‘3782
Undeclared variable; order_id.
我已经看了几个小时的代码,不知道哪里会出错。我想它可能会链接到选择最后一次插入
使用数据名称
跌落程序(若存在)试验;
分隔符//
程序测试
开始
声明sql_error INT DEFAULT FALSE;
为SQLEXCEPTION声明继续处理程序
设置sql_error=TRUE;
启动交易;
在订单中插入值
默认值,3,现在为'10.00','0.00',NULL,4,
‘美国运通’、‘3782246310005’、‘04/2013’、4;
选择最后一个\u插入\u id以订购\u id;
在订单中插入项目值
默认值,订单号,6,'415.00','161.85',1;
在订单中插入项目值
默认值,订单号,1,'699.00','209.70',1;
如果sql_error=FALSE,则
犯罪
选择“事务已提交”;
其他的
回降;
选择“事务已回滚”;
如果结束;
结束//
在过程中需要一行来声明变量:
DECLARE order_id BIGINT UNSIGNED;
我选择类型为BIGINT UNSIGNED,因为根据
此外,请确保将该变量命名为与order_items表中的任何列名不同的名称,否则INSERT语句中对该变量的引用将不知道是否要使用该变量或该表的列。必须替换该变量
DECLARE sql_error INT DEFAULT FALSE;...
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
SET sql_error = TRUE;...
IF sql_error = FALSE THEN....
与
接下来,关注INSERT语句并更改为order_items1和order_items2
例如:
INSERT INTO order_items1 VALUES
(DEFAULT, order_id, 6, '415.00', '161.85', 1);
INSERT INTO order_items2 VALUES
(DEFAULT, order_id, 1, '699.00', '209.70', 1);
我将陈述一个显而易见的事实:order_id没有定义。
INSERT INTO order_items1 VALUES
(DEFAULT, order_id, 6, '415.00', '161.85', 1);
INSERT INTO order_items2 VALUES
(DEFAULT, order_id, 1, '699.00', '209.70', 1);