gpt4 book ai didi

mysql - 无法向列添加检查约束

转载 作者:行者123 更新时间:2023-11-29 18:19:07 24 4
gpt4 key购买 nike

我正在尝试创建一个包含几列的简单表格。我想向其中一列添加检查约束,请参见下文:

create table jobs (
JOB_ID varchar(10) not null,
JOB_TITLE varchar(35) not null,
MIN_SALARY decimal(6,0),
MAX_SALARY decimal(6,0)
CHECK(MAX_SALARY<=25000)
);

这会返回 CHECK 行的错误。

A comma or closing bracket was expected. (near CHECK)

如果我像上一行一样添加一个逗号; MAX_SALARY Decimal(6,0),,我返回更多错误:

A symbol name was expected! A reserved keyword can not be used as a column name without backquotes.

Unexpected beginning of statement near MAX_SALARY

Unexpected beginning of statement near 25000

最佳答案

更新:

只需创建表而不进行检查,然后更改它:

  create table jobs (
JOB_ID varchar(10) not null,
JOB_TITLE varchar(35) not null,
MIN_SALARY decimal(6,0),
MAX_SALARY decimal(6,0)
);
<小时/>
ALTER TABLE jobs ADD CHECK (MAX_SALARY<=25000);
<小时/>

<小时/>

在 MySQL 中:

create table jobs (
JOB_ID varchar(10) not null,
JOB_TITLE varchar(35) not null,
MIN_SALARY decimal(6,0),
MAX_SALARY decimal(6,0),
CHECK(MAX_SALARY<=25000)
);
<小时/>

SQL Server/Oracle

 create table jobs (
JOB_ID varchar(10) not null,
JOB_TITLE varchar(35) not null,
MIN_SALARY decimal(6,0),
MAX_SALARY decimal(6,0) CHECK(MAX_SALARY<=25000)

);
<小时/>

注意:MySQL不支持CHECK约束,但您可以使用它,正如我声明的那样,但它不会给您输出!!

关于mysql - 无法向列添加检查约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46747330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com