price DECIMAL (7,2) constraint C1 check(price>0 )为什么报错
时间: 2023-06-11 19:09:26 浏览: 50
在创建表时添加约束条件时,应该将约束条件放在列定义之后,例如:
```
CREATE TABLE table_name (
column1 data_type,
column2 data_type,
...
columnN data_type,
CONSTRAINT constraint_name CHECK (column_name > 0)
);
```
因此,你的语句应该如下所示:
```
CREATE TABLE table_name (
...
price DECIMAL (7,2),
CONSTRAINT C1 CHECK(price > 0)
);
```
请注意,约束条件名称“C1”是可选的,你可以根据自己的需要进行命名。
相关问题
price DECIMAL (7,2) constraint C1 check(price>0 and price <=10000)为什么报错
可能是因为你在定义 DECIMAL 类型时指定了 7 个数字位和 2 个小数位,而在 constraint 中使用的是 10000 这个值,它超出了 DECIMAL 类型的范围。DECIMAL 类型最大值的整数部分为 10^7-1,小数部分为 0.99。
你可以将 DECIMAL 类型的数字位数增加,或者修改 constraint 中的值以使其不超过 DECIMAL 类型的范围。例如,你可以将 DECIMAL 类型的数字位数增加到 8 或 9,或者将 constraint 中的值修改为 9999。
优化代码alter table sc add constraint ys check(Score>=0 and Score<=100);
这是一个MySQL的DDL语句,用于在sc表中添加一个约束(constraint),名为ys,约束条件为Score的取值必须在0到100之间。现在来优化一下代码:
1. 将约束的添加操作放在表创建时进行,避免后续操作中对表结构的修改。
2. 在创建表时指定Score的数据类型为DECIMAL(4,1),避免在添加约束时需要检查数据类型是否合法。
3. 为约束指定名称,提高代码可读性和可维护性。
优化后的代码如下:
```
create table sc (
Sno char(10),
Cno char(10),
Score decimal(4,1),
primary key (Sno, Cno),
constraint score_range check (Score >= 0 and Score <= 100)
);
```
这样,在创建sc表时,就会同时添加一个名为score_range的约束,确保Score的取值在0到100之间,避免了后续操作中对表结构的修改。同时,指定了Score的数据类型为DECIMAL(4,1),避免了在添加约束时需要检查数据类型是否合法。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)