二进制列的默认值是什么?

时间:2014-02-09 02:16:28

标签: mysql binary passwords default

二进制列的默认值是多少?如果列是“非空”,是否应该指定?它应该如何指定?

我问上面的问题是因为在将密码列的大小从binary(32) NOT NULL增加到binary(60) NOT NULL之后,所有登录都失败了。现在所有密码的十六进制都是零填充,以填满整个列:

+-------------------------------------------------------------------------------+
| hex(password)                                                                 |
+-------------------------------------------------------------------------------+
| B41DF3CA2BFB639FA62DA56DF475EBC1E5C054E6CF00000000000000000000000000000000000 |
+-------------------------------------------------------------------------------+

处理扩展二进制密码列的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

在MySQL BINARY中是固定长度,这就是填充值的原因。您可能希望VARBINARY(60)的行为类似于VARCHAR,因为它不会在右侧填充。