MySQL Error number: MY-010479; Symbol: ER_NDB_COLUMN_SHOULD_NOT_HAVE_NATIVE_DEFAULT; SQLSTATE: HY000

文档解释

Error number: MY-010479; Symbol: ER_NDB_COLUMN_SHOULD_NOT_HAVE_NATIVE_DEFAULT; SQLSTATE: HY000

Message: NDB Internal error: Column %u has native default, but shouldn’t. Flags=%u, type=%u

Error number: MY-010479; Symbol: ER_NDB_COLUMN_SHOULD_NOT_HAVE_NATIVE_DEFAULT; SQLSTATE: HY000

错误说明

MY-010479(ER_NDB_COLUMN_SHOULD_NOT_HAVE_NATIVE_DEFAULT)错误消息表明,MySQL的NDB存储引擎不允许使用NATIVE_DEFAULT作为字段的默认值。

常见案例

当你尝试在数据库中使用NDB存储引擎更改表结构,仅改变字段的默认值时,就可能遇到此错误。它会在以下情况下抛出,当一个表使用NDB作为引擎,并且有一个字段存在注入 NATIVE_DEFAULT作为默认值时:

ALTER TABLE MyTable MODIFY COLUMN MyField int DEFAULT NATIVE_DEFAULT;

解决方法

要解决此问题,您可以使用ALTER TABLE语句,将该字段的默认值更改为null或相应的值:

ALTER TABLE MyTable MODIFY COLUMN MyField int NOT NULL DEFAULT 0

你可能感兴趣的