一.问题描述 在往数据库写入数据的时候,报错: '字段名' doesn't have a default value 本来这个错误是经常见到的,无非就是字段没有设置默认值造成的.奇怪的是,我这边报错的字段,其类型是text类型.众所周知的,text类型是不能有默认值的.如此一来就有了矛盾,text类型的字段明明不能有默认值,那么为什么还会给我报错,提示缺少默认值呢? 二.问题所在 1.查看字段类型 通过phpmyadmin查看数据表的字段结构,发现text字段在创建的时候,语法为: //创建字段
1.查出该字段的约束名称 SELECT c.name FROM sysconstraints a INNER JOIN syscolumns b on a.colid=b.colid INNER JOIN sysobjects c on a.constid=c.id WHERE a.id=object_id('TClass') AND b.name='PhoneIsOpen' 2.删除该约束 ALTER TABLE TClass DROP CONSTRAINT DF__TClass__Phone