我想知道sql的约束条件?
最近用sql条件总出现好多不知道的错误以至于就算建立个数据表都有可能出现错误例如以下:'admin_news'表-不能修改表。ODBC错误:[Microsoft][ODB...
最近用sql条件 总出现好多不知道的错误 以至于就算建立个数据表都有可能出现错误 例如以下:'admin_news' 表
- 不能修改表。
ODBC 错误: [Microsoft][ODBC SQL Server Driver][SQL Server]无法将 NULL 值插入列 'ishot',表 'baiying.dbo.Tmp_admin_news';该列不允许空值。INSERT 失败。
[Microsoft][ODBC SQL Server Driver][SQL Server]语句已终止。听人说可能是和约束冲突了 可是我没有系统的学过sql 就想直接知道如何改正这些错误 请指点?谢谢各位!! 展开
- 不能修改表。
ODBC 错误: [Microsoft][ODBC SQL Server Driver][SQL Server]无法将 NULL 值插入列 'ishot',表 'baiying.dbo.Tmp_admin_news';该列不允许空值。INSERT 失败。
[Microsoft][ODBC SQL Server Driver][SQL Server]语句已终止。听人说可能是和约束冲突了 可是我没有系统的学过sql 就想直接知道如何改正这些错误 请指点?谢谢各位!! 展开
2个回答
2013-06-24
展开全部
Tmp_admin_news表中有一个不可为空的字段但是你插入了空值,所以才会报错,如果表中有约束则必须按照约束来比如说:create table a(uid int primary key not null,uname vharchar(20) UNIQUE,) 在插入表字段时uid是不可以插入重复项(因为有主键uid约束)不可以为空(因为有uid 的not null 约束)uname是不可以插入重复项的因为有UNIQUE唯一约束,这只是一个小例子,还有其他的约束,如果你自己给定了 约束你必须要按照你所定的约束来做,否则总是会报插入异常的。第二个错误应该是你定义的长度太小了,比如说:上面的uname插入的数据如果超出了20则会报这个异常,所以解决这个错误有两种方法(我知道的),第一是加长表字段允许的长度,第二是控制输入,不过后一种是和如java程序或者其他要和数据库连接的程序控制的。
2013-06-24
展开全部
1、非空约束:就是不能不为设置非空的列插入空值2、主键约束:关键字primary,要求列唯一,但不允许空值3、唯一约束:关键字unique,要求列唯一,但允许一个空值4、检查约束:检查与自己预定义的列格式一致5、超出列的最大字符限制:列值的字符长度超限
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询