如何重写 mysql 约束语法?
How to rewrite mysql constraints syntax?
我需要使用 phpmyadmin
在 mysql 上添加检查约束
我有一个table
wp_nrOrevePerPunetore
有 3 列 ID
, start_date
和 end_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 the
previous one. (near "check" at position 79)
执行第二个约束的正确语法是什么?
ps: start_date和end_date都是日期时间类型
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 是一个 open-source 项目,只有两个独立的程序员完成大部分工作,所以进展缓慢。
对该问题报告的评论说:
Right now, you can add the CHECK constraint with a custom SQL statement. Even though the parser indicates a syntax error, it works.
如果您使用 command-line MySQL 客户端,而不是 phpMyAdmin,您也可以应用检查约束。
我需要使用 phpmyadmin
在 mysql 上添加检查约束我有一个table
wp_nrOrevePerPunetore
有 3 列 ID
, start_date
和 end_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 the previous one. (near "check" at position 79)
执行第二个约束的正确语法是什么?
ps: start_date和end_date都是日期时间类型
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 是一个 open-source 项目,只有两个独立的程序员完成大部分工作,所以进展缓慢。
对该问题报告的评论说:
Right now, you can add the CHECK constraint with a custom SQL statement. Even though the parser indicates a syntax error, it works.
如果您使用 command-line MySQL 客户端,而不是 phpMyAdmin,您也可以应用检查约束。