我正在编写一个sql脚本,脚本结束时会出现此错误。
“列'option_type_id'不能为空”
SET @valor = 10, @op1 := @valor * 2 - 1, @op2 := @valor * 2; ... INSERT INTO `magento`.`catalog_product_option_type_title` (`option_type_title_id`, `option_type_id`, `store_id`, `title`) VALUES (@op1, @op1, '0', 'DIREITO'); INSERT INTO `magento`.`catalog_product_option_type_title` (`option_type_title_id`, `option_type_id`, `store_id`, `title`) VALUES (@op2, @op2, '0', 'ESQUERDO'); INSERT INTO `magento`.`catalog_product_option_type_price` (`option_type_price_id`, `option_type_id`, `store_id`, `price`, `price_type`) VALUES (@op1, @op1, '0', '0.0000', 'fixed'); INSERT INTO `magento`.`catalog_product_option_type_price` (`option_type_price_id`, `option_type_id`, `store_id`, `price`, `price_type`) VALUES (@op2, @op2, '0', '0.0000', 'fixed');
我已经测试了其他条目并且工作正常,但这些条目失败了。 请帮我。非常感谢你!
答案 0 :(得分:0)
显然,您可以使用=
或:=
设置变量,因此我删除了其他答案。
您需要将第一行分成两个SET命令:
SET @valor := 10;
SET @op1 := @valor * 2 - 1,@op2 := @valor * 2;
在一个班轮@valor
中,在其他两个作业之前没有设置null
。
MySQL中对null的任何简单算术都返回null,因此@op1
和@op2
设置为null
。
脚本中的其他语句将null
和@op1
插入@op2
,10
插入@valor
。