新建表/约束时的试验

 

复制代码
create table tb_user(
        userid number(5),
        username varchar2(60) constraint nn_user_name not null,
        userpwd varchar2(60) constraint nn_user_pwd not null,
        age number(3) default(18),
        gender char(3) default(''),
        email varchar2(30),
        regtime data default(sysdate),
        constraint pk_user_id primary key (userid),
        constraint ck_user_name check(length(username) between 4 and 20),
        constraint ck_user_pwd check(length(userpwd) between 4 and 18),
        constraint ck_user_age check(age>=18),
        constraint ck_user_gender check(gender in('','')),
        constraint uq_user_email unique(email)
    );
    
create table tb_txt(
        txtid number(10),
        title varchar2(60) constraint nn_txt_title not null,
        txt varchar2(1024),
        pubtime data default(sysdate),
        userid number(5),
        constraint pk_txt_id primary key(txtid),
        constraint ck_txt_id check(length(title)>=4 and length(title)<=30),
        constraint fk_txt_ref_user_id foreign key(userid) references tb_user(userid)
on delete set null
    );
View Code
复制代码

 

  • 验证USERID的主键约束(非空且唯一)——非空

 

验证USERID的主键约束(非空且唯一)——唯一

 

 

  • 验证USERNAME的检查约束(后面的我就不记了,全是截图。如果以后有闲心在补吧)

 

 

 

 

 

 

 

 

 

 

 

 所以,为什么是无效数据类型呢?哪块错了呢?

在行: 17 上开始执行命令时出错 -

错误报告 -
ORA-00902: 无效数据类型
00902. 00000 - "invalid datatype"
*Cause:
*Action:

 

 

 

 

 

 

 

 

 

 

 

posted @   橘子Jane  阅读(50)  评论(1编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示