MODIFY 是否保留 MariaDB 中的其他列属性?

Does MODIFY retain other column attributes in MariaDB?

以 MariaDB 知识库中的这个例子为例:

CREATE TABLE t1 (
  a INT UNSIGNED AUTO_INCREMENT PRIMARY_KEY,
  b VARCHAR(20) NOT NULL UNIQUE
);
ALTER TABLE t1 MODIFY b VARCHAR(40);
  1. 这条语句之后b还会是NOT NULL吗?
  2. b 还会附加唯一性约束吗?

采用最新版本的 MariaDB。

经过自己的测试,我得出的结论是:

  1. b不会保留NOT NULL属性;这被重置为允许空值的默认值。
  2. 唯一性约束仍然存在。

显然我也完全忽略了知识库解释这种行为的事实:https://mariadb.com/kb/en/alter-table/#modify-column