你可以在学生表,插入一个学生(实际不存在,名字就叫”没有人“好了)。
然后,在你删除学生表里学生前,先通过ID联查到座位表的【所属学生】,将其值update成”没有人“的ID就行了。
但,其实你换一个建表方式会更好。学生表独立,座位表独立(不引用学生ID),然后单独建一张关系表,分别引用学生ID和座位ID,建成关联。这样要删除其一时,只要把关系表对应的删除就行。这样更清晰。
不能设为空值可能存在以下两个原因:
1.首先要判断a字段是否可以设为空值:
右键选择表,点击设计,查看字段允许null值是否打勾,打勾为可以设为空值。
2.还要检查字段的数据类型是否为字符型,int类的空值会被设置为0。
更改数据类型的语句为:
alter table 表名 alter column 列名 char(20) null.
两部都没问题后,在采用update A set a='null' where a='0'修改。
拓展资料:
结构化查询语言字符型
VARCHAR VS CHAR
VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要。他们都是用来储存字符串长度小于255的字符。
假如向一个长度为四十个字符的VARCHAR型字段中输入数据Bill Gates。以后从这个字段中取出此数据时,取出的数据其长度为十个字符——字符串Bill Gates的长度。假如把字符串输入一个长度为四十个字符的CHAR型字段中,那么当取出数据时,所取出的数据长度将是四十个字符。字符串的后面会被附加多余的空格。
使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段时,不需要为剪掉数据中多余的空格而 *** 心。
VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。当数据库很大时,这种内存和磁盘空间的节省会变得非常重要。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)