我正在尝试使用以下mysql代码在名称取决于某个值的列上插入。它给我错误,“字段列表”中的“ some_percent”未知列“ some_percent”
set @SplitState = `some_percent`;
SET @ID = uuid();
INSERT INTO `rspca_donations`(`id`, `@SplitState`) values (@ID, '100');
有人可以建议正确的方法吗?
最佳答案
您不能以这种方式使用用户变量来表示列名。一种选择是在MySQL中使用预处理语句:
SET @SplitState = 'some_percent';
SET @ID = UUID();
SET @sql = CONCAT('INSERT INTO rspca_donations (id, ', @SplitState, ') VALUES (?, 100)');
PREPARE stmt FROM @sql;
EXECUTE stmt USING @ID;
关于mysql - MySQL:Insert语句中的用户定义变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55237073/