我在桌面上添加了生成的列后出现此错误。 查询是这样的:
UPDATE aspnetusers SET FirstName = 'somename' WHERE Id = 1;
FirstName column is varchar
Id column is int
db甚至可以将这个加倍?
添加此生成的列后,此错误开始:
"ALTER TABLE aspnetusers ADD FullName varchar(135) GENERATED ALWAYS AS (FirstName + ' ' + LastName) VIRTUAL;"
如果我删除此列,则此错误消失。
有什么想法吗?
答案 0 :(得分:3)
使用CONCAT
:
ALTER TABLE aspnetusers
ADD FullName varchar(135)
GENERATED ALWAYS AS (CONCAT(FirstName , ' ' , LastName)) VIRTUAL;
MySQL不使用+
来连接字符串。您得到的错误是由字符串隐式转换为数字引起的。