数据字段的mysql更新中的条件if(DEFAULT)

时间:2015-05-11 13:13:11

标签: mysql

如果我想保持测试,将哪个值设置为'default'?

mysql> update softwareitem set SIMobsolescence = DEFAULT where SIMID =
2624553;
  

查询OK,0行受影响(0.00秒)
  匹配的行数:1已更改:0警告:0

mysql> update softwareitem set SIMobsolescence = if (1>2, 0, DEFAULT)
where  SIMID = 2624553; 
  

错误1064(42000):您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行的SIMID = 2624553'附近使用正确的语法

mysql> update softwareitem set SIMobsolescence = if (1>2, 0, 'DEFAULT') where SIMID = 2624553;
  

ERROR 1366(HY000):不正确的整数值:第1行“SIMobsolescence”列的“DEFAULT”

mysql>

1 个答案:

答案 0 :(得分:1)

所以 - 为了使它更具可读性 - 答案是使用DEFAULT(col)函数:

mysql> update softwareitem set SIMobsolescence = if (1>2, 0, DEFAULT(SIMobsolescence)) 
where  SIMID = 2624553; 

查询OK,1行受影响(0.01秒)