gpt4 book ai didi

mysql - 如何重写mysql约束语法?

转载 作者:行者123 更新时间:2023-12-05 05:46:35 24 4
gpt4 key购买 nike

我需要使用 phpmyadmin 在 mysql 上添加一个检查约束

我有一张 table wp_nrOrevePerPunetore 包含 3 列 IDstart_dateend_date

这很好用

alter table wp_nrOrevePerPunetore add constraint conEnddtbiggerThanStartDt check(end_date < '2030-01-01' );

但是这个

alter table wp_nrOrevePerPunetore add constraint conEnddtbiggerThanStartDtt 
check(end_date > start_date );

抛出这个错误:

Static analysis: 1 errors were found during analysis.

A new statement was found, but no delimiter between it and theprevious one. (near "check" at position 79)

执行第二个约束的正确语法是什么?

ps:start_date和end_date都是datetime类型

最佳答案

phpMyAdmin 尝试对您的 SQL 语句进行语法验证,但它落后了,无法识别较新版本的 MySQL 中的有效语法。我查看了changelog for phpMyAdmin ,但我没有看到任何提及他们添加了对检查约束的支持。

所以这不是 MySQL 服务器的问题,而是 phpMyAdmin 的问题。查看此开放功能请求:https://github.com/phpmyadmin/phpmyadmin/issues/13592

令人非常失望的是,MySQL 自 8.0.16(2019-04-25)以来就支持 CHECK 约束,但 phpMyAdmin 并未包含对该语法的支持。但 phpMyAdmin 是一个开源项目,只有两个独立的程序员完成大部分工作,因此进展缓慢。

对该问题报告的评论说:

Right now, you can add the CHECK constraint with a custom SQL statement. Even though the parser indicates a syntax error, it works.

如果您使用命令行 MySQL 客户端而不是 phpMyAdmin,您也可以应用检查约束。

关于mysql - 如何重写mysql约束语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71148590/

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