Mysql INT表列问题

时间:2011-04-16 00:19:30

标签: mysql

我的mysql表上有一个列,当前是VARCHAR,它名为logcount。

用户创建后,日志计数设置为空,一旦验证帐户,它就会将自己设置为0.如果用户尝试在空白时登录,则会促使他们验证帐户。一旦验证,它就被设置为0,每次用户登录时都会加1。

它被设置为VARCHAR的原因是因为如果我将它设置为INT,mysql会自动将其设置为0并且不会让我有空值。有什么设置我可以做到这一点。将列设置为VARCHAR的列只会包含INT是一个问题吗?

2 个答案:

答案 0 :(得分:1)

  

有没有任何可以让我成功的设置。

告诉MySQL将其默认为NULL

ALTER TABLE sometable MODIFY logcount INT DEFAULT NULL;
  

将列设置为VARCHAR的列只会包含INT是一个问题吗?

一个问题与要编制索引的列有关...整数列作为索引比字符串列效果好得多。

答案 1 :(得分:0)

varchar没有“真正的”问题...只是闻起来很糟糕。我猜你的列被设置为不可为空。将其更改为可为空的列,并将其设置为“null”而不是“无”,如您所说。

另一种方法是将其设置为-1,然后在代码中对此进行测试。如果>> 0,则仅添加1。