问题描述:
sqlserver设置为主键自增后我们往数据库中插入数据,按道理来说不应该写主键
eg:
插入语句写成:
insert into t_student(name,age) values('kaoyan',85);
应该就可以,但是一直报错
很有意思的问题:你既要说主键不为空,又设置主键自增,插入语句到底应该怎么写?
原因分析:主键要求不为空,SQL语句内又没有写主键(因为设置为自增)
解法:后来问老师,得到解答.数据库在插入了数据后就不能改变它的数据结构了,所以说如果我们在没有设置自增主键的情况下插入了数据,就不可能在不插入主键的情况下插入数据(说起来好绕)
总之,将原表删了,然后先确定成功设置了主键,再插入SQL语句,就不会报这么奇怪的错误了.