create table cangku( ckno varchar(20) not null primary key, ckadd varchar(20) not null, ckarea varchar(20) not null, cktel varchar(20) not null, ckcap int not null, ckweight int not null default 0, check(ckarea in (‘上海’,‘北京’,‘广州’,‘武汉’,‘厦门’,)), ); insert into cangku values(1,‘上海号’,‘上海’,88118800,10000,0); insert into cangku values(2,‘北京号’,‘北京’,88228800,10000,0); insert into cangku values(3,‘武汉号’,‘武汉’,88338800,10000,0); insert into cangku values(4,‘广州号’,‘广州’,88448800,10000,0); insert into cangku values(5,‘厦门号’,‘厦门’,88558800,10000,0);
时间: 2024-03-18 21:42:33 浏览: 29
在这个 SQL 语句中也存在一些语法错误和数据类型不匹配的问题。下面是一个修正后的 SQL 语句:
```
create table cangku(
ckno varchar(20) not null primary key,
ckadd varchar(20) not null,
ckarea varchar(20) not null check (ckarea in ('上海', '北京', '广州', '武汉', '厦门')),
cktel varchar(20) not null,
ckcap int not null,
ckweight int not null default 0
);
insert into cangku values('1', '上海号', '上海', '88118800', 10000, 0);
insert into cangku values('2', '北京号', '北京', '88228800', 10000, 0);
insert into cangku values('3', '武汉号', '武汉', '88338800', 10000, 0);
insert into cangku values('4', '广州号', '广州', '88448800', 10000, 0);
insert into cangku values('5', '厦门号', '厦门', '88558800', 10000, 0);
```
修正后的 SQL 语句中:
- 在 `cangku` 表中,将 `ckarea` 字段的 `check` 约束放在了字段定义后面。
- 在 `insert into cangku` 语句中,将数值类型数据使用引号括起来,确保了数据类型的匹配。
这个 SQL 语句创建了一个名为 `cangku` 的表,其中包括 `ckno`, `ckadd`, `ckarea`, `cktel`, `ckcap`, `ckweight` 六个字段。其中,`ckno` 是主键,`ckarea` 只能输入 '上海'、'北京'、'广州'、'武汉'、'厦门' 这五个值。另外,这个 SQL 语句向 `cangku` 表中插入了五条数据。
阅读全文