我的mysql表上有一个列,当前是VARCHAR,它名为logcount。
用户创建后,日志计数设置为空,一旦验证帐户,它就会将自己设置为0.如果用户尝试在空白时登录,则会促使他们验证帐户。一旦验证,它就被设置为0,每次用户登录时都会加1。
它被设置为VARCHAR的原因是因为如果我将它设置为INT,mysql会自动将其设置为0并且不会让我有空值。有什么设置我可以做到这一点。将列设置为VARCHAR的列只会包含INT是一个问题吗?
答案 0 :(得分:1)
有没有任何可以让我成功的设置。
告诉MySQL将其默认为NULL
:
ALTER TABLE sometable MODIFY logcount INT DEFAULT NULL;
将列设置为VARCHAR的列只会包含INT是一个问题吗?
一个问题与要编制索引的列有关...整数列作为索引比字符串列效果好得多。
答案 1 :(得分:0)
varchar没有“真正的”问题...只是闻起来很糟糕。我猜你的列被设置为不可为空。将其更改为可为空的列,并将其设置为“null”而不是“无”,如您所说。
另一种方法是将其设置为-1,然后在代码中对此进行测试。如果>> 0,则仅添加1。