解释:
我有一个用户表,其中有一列 android_token
,可以为空,但 DEFAULT 没有,意味着默认情况下它不会为每行发送空值。
现在..
当我想选择所有 android_token 不为空的用户时,我无法得到结果..
例如
SELECT * from tbl_users where android_token IS NOT NULL;
它没有给我排序结果,因为具有 android_token 值的行是可以的,但是其他 android_token 为空的用户甚至没有 NULL 值,在表 android_token DEFAULT IS NONE 的结构中。
有人可以解释一下,如何更新表并仅为空的每一行发送 NULL 值,或者如何对具有当前配置的 android_token 的用户进行排序?
提前致谢。
最佳答案
说明
隐式默认值定义如下:
对于数字类型,默认值为 0,但对于 使用 AUTO_INCRMENT 声明的整数或浮点类型 属性,默认值是序列中的下一个值。
对于 TIMESTAMP 以外的日期和时间类型,默认值为 该类型的适当“零”值。对于第一个 TIMESTAMP 列 在表中,默认值是当前日期和时间。看 第 10.3 节,“日期和时间类型”。
- 对于ENUM以外的字符串类型,默认值为空 字符串。对于 ENUM,默认值为第一个枚举值。
代码
如果 android_token 是字符串:
UPDATE tbl_users SET android_token=NULL WHERE android_token='';
这会将所有空单元格更改为 NULL
关于mysql - 如何计算默认实例没有的行中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53951687/