2012-02-06 98 views
1

我制作了一个带两个字段的用户表:用户名和密码。我有密码设置为非空。MySQL工作台

问题是,当我输入的数据,不包括密码只是我能值插入密码字段的用户名。

我的目标是不让任何条目成不具有用户名和密码的数据库。我认为非null会强制执行,但似乎只是插入空字符串。有什么建议么?

回答

1

你应该张贴您都充分表的定义以及实际插入一条记录的代码。

然而,很可能您可能已指定为空字符串表中的默认值。或者你在insert语句中传递一个空字符串,而不是null。

如果是后者,你应该知道,空是不一样的一个空字符串。

另一个想法是简单地添加一个插入触发器,您可以在其中测试密码值以查看它是否符合要求。如果不是,取消插入。我通常会建议您使用检查限制,但显然MySql doesn'tactuallyhonorthose

0

在MyISAM中,MySQL的标准数据库表类型没有被强制执行。所以不,你必须在应用程序中检查它,或者使用另一个允许你执行验证的表类型/其他数据库。