gpt4 book ai didi

mysql忽略检查约束

转载 作者:行者123 更新时间:2023-11-29 05:52:38 25 4
gpt4 key购买 nike

我有这段代码,我想在 MySQL 中实现它,但不支持 CHECK。我该怎么做?

CREATE TABLE Fare (
type_of_passenger varchar(20),
price FLOAT,
PRIMARY KEY (type_of_passenger),
CHECK (lower(type_of_passenger)='child' OR lower(type_of_passenger)='student' OR lower(type_of_passenger)='senior')
);

最佳答案

你确定你需要那张支票吗?由于主键是 type_of_passenger,因此您将只能拥有三行。这似乎有点过头了

您可以只INSERT 这 3 行然后继续。如果您在外键中引用此字段,无论如何您都将被限制为表中的值

事实上,一旦您使用使用 ON UPDATE RESTRICT 和 ON DELETE RESTRICT 的外键引用每个值,您将无法更改它们

我在这里看到的唯一有效问题是您希望允许数据库用户更改 price 而不是 type_of_passenger

如果您INSERT 开始时使用正确的(或 stub )数据,您就可以通过permissions 控制表和列的访问。

N.B. 我会在这里使用一个代理无符号整数主变量,并使字符串描述唯一引用它的表

关于mysql忽略检查约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52749811/

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