二进制列的默认值是多少?如果列是“非空”,是否应该指定?它应该如何指定?
我问上面的问题是因为在将密码列的大小从binary(32) NOT NULL
增加到binary(60) NOT NULL
之后,所有登录都失败了。现在所有密码的十六进制都是零填充,以填满整个列:
+-------------------------------------------------------------------------------+
| hex(password) |
+-------------------------------------------------------------------------------+
| B41DF3CA2BFB639FA62DA56DF475EBC1E5C054E6CF00000000000000000000000000000000000 |
+-------------------------------------------------------------------------------+
处理扩展二进制密码列的正确方法是什么?
答案 0 :(得分:1)
在MySQL BINARY
中是固定长度,这就是填充值的原因。您可能希望VARBINARY(60)
的行为类似于VARCHAR
,因为它不会在右侧填充。