MYSQL的问题!关于建表时候Null的问题!

建表时候,在下是先写成.sql文件然后上传Import的,如:
--
-- 表的结构 `abc`
--
CREATE TABLE `abc` (
`id` int(10) NOT NULL auto_increment,
`title` varchar(225) NOT NULL default 't',
`neirong` text NOT NULL default 'n',
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
--
-- 导出表中的数据 `abc`
--

其中,设置NOT NULL default和default有什么区别呢?什么场合,什么方面用哪个比较好?还有,varchar(225)应该是用来设置字段类型的,我设置text为什么有时候会出错呢?字段have a default value.

NOT NULL 不允许为空
default 默认值
他们并不冲突 意思也表达的很清楚
default 't' 就是如果这个字段我不给他赋值 采用默认的t作为字段值
避免了null 的问题 如果从表里取得的字段是null的,再操作的话会有异常
(java中空指针异常)

text应该是没问题的..如果你把他设置为标识列就会出错了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-08-20
varchar(225)限制了字符串长度,如果会超出这个长度255自然会错,另外类型量一般用enum{类型1,类型2.。。}来存储(操作相当与varchar,但是没有出现在括号中的量无法插入),这样不会因为输入错误造成无法识别的类型了
第2个回答  2008-08-20
NOT NULL default和default本身就是两种不同的意思啊,这也要区别吗,你不如问一和二有什么区别好了