Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 无法理解为什么会出现错误_Mysql_Mysql Workbench - Fatal编程技术网

Mysql 无法理解为什么会出现错误

Mysql 无法理解为什么会出现错误,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

我得到一个错误代码:1327

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);