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