帮我看看这段SQL解释,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/06/21 04:06:53
若要修改表的定义并在现有的表中新增列,操作必须在该列允许NULL或包含DEFAULT条件约束的条件下进行,由于新的列被加入到表中,数据库引擎会针对表中的现有数据交会插入该列内,因此,当列被加入表时,替该列加入DEFAULT定义会很有用,如果新的列没有DEFAULT定义,则必须指定使用新的列允许NULL会,否则将返回错误信息!

小弟初学,这段话是什么意思?说的越简单,越详细,越好懂越好,不要复制的,谢谢!在表新增列的时候不允许NULL或DEFAULT就会出错吗?比如
ALTER TABLE T1 ADD C1。。。这样不行吗?上边说的什么“数据库引擎会针对表中的现有数据交会插入该列内,,,”这是什么意思啊?什么现有数据?刚刚建一个列待输入数据不行吗?

就是说,你向你一个表新加列的时候,必须改列允许为空,否则就必须指定个默认值,要不然sql是不允许你加入此列的

打个比方:你的一个表A中有字段 AA,BB 而且里面已经有10条记录,卸载你要向A表添加一字段CC,如果你让他的值是不能为空也没有给他指定默认值的话,那么sql 不知道他的值将是什么,所以就必须添加列的时候允许他为空或带个默认值,这只是在向已经存在的表添加列有这个限制,创建新表的时候就不用了

无论是建表还是新增列,你只要记住 列名,数据类型,字段长度。而且你字段不可能定义为空啊,如果你定义为空怎么往里面加入数据啊,像主键的问题一般都定义为notnull.