Mysql如何为当前值添加值

时间:2013-10-16 21:38:09

标签: mysql database

我正在进行一些Mysql任务,并被要求:

所有作为经理的员工(领导者,类型'L')的薪水涨幅为6%。

我试图使用这种方法:

UPDATE employee
SET salary = salary * '1,06'
WHERE emptype = 'L';

我收到错误消息错误代码:1292。截断错误的DOUBLE值:'1,06'

当我尝试描述员工时;

我可以看到薪水为Type int(11)

有人可以说出我做错了什么以及正确的编码是怎样的,并且可以在不更改类型的情况下在当前值上添加6%吗?

1 个答案:

答案 0 :(得分:3)

应该是这个......

UPDATE employee
SET salary = salary * 1.06
WHERE emptype = 'L';

......相反。不仅'1,06'是一个字符串 - 它是一个字符串,不能在不丢失某些数据(换句话说,正在处理)的情况下强制转换为相应的数值,因为逗号不被视为小数部分分隔符 - 一个点。

这正是MySQL在此错误消息中告诉您的内容。这只是你可能错过的数字和字符串表示之间的细微差别。