SQL创建自定义数据类型问题

SQL创建自定义数据类型问题,第1张

sp_addtype中的null或not null只是为该数据类型定义默认的为空性,

举个咐纤例子你就明白了:

通过语句来创建表,假设定义的类型名为mytype1

create table temp

(

Id int not null ,

content mytype1

)

这个语句中,我们没有显示的指定content是否可以为空,

当在sp_addtype中指定了not null,那么现在content列就默认是不可以为空的。

同样,在sp_addtype中未指定not null,那么现在content列就是可以为空的。

当我衡镇仿们用如下语句创建表时

create table temp

(

Id int not null ,

content mytype1 null

)

由于我们指定了该列可以为空旅裤,那么我们在sp_addtype里所指定的not null就被忽略掉了(说忽略不太恰当)。

没有类型是不能增裂岩加列的

例子是在SQLSERVER下,不同数据库的类型不一致

你可以先增加

alter table 表名 add AA varchar(100)

等之后确定了还可以升源仿修改

alter table 表名 alter column AA 字段类型

比如修改 t1表的a字段为文本类型

alter table t1

alter column a varchar(150)

注意在更改类型的时候,更改前的类型和更改后的类型一定要能吵纤显示转换,否则会造成数据丢失。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11978261.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存