Нет, это не имеет никакого значения. Однако причина состоит в том, не потому что это - объявление элемента в интерфейсе, как говорит Jon. Настоящая причина согласно спецификации языка ( 8.9 ), что
Вложенные перечислимые типы неявно статичны. Допустимо явно объявить, что вложенный перечислимый тип статичен.
В следующем статичном примере не имеет никакого значения ни один (даже при том, что у нас нет интерфейса):
public class A {
enum E {A,B};
}
public class A {
static enum E {A,B};
}
Другой пример с вложенным частный перечисление (не неявно общедоступный).
public class A {
private static enum E {A,B}
}
Согласно этой ссылке , ошибка связана с определением поля первичного ключа. Ошибка не связана с индексом внешнего ключа.
Проверьте первичный ключ для таблицы COMMENTS
, чтобы убедиться, что в нем нет ключевого слова UNSIGNED
, а COMMENTS .id_user
имеет ключевое слово UNSIGNED. Это ключевое слово вызывало проблему - несогласованный тип поля.
Чтобы исправить это, добавьте ключевое слово UNSIGNED
в определение первичного ключа для таблицы COMMENTS
. Или удалите ключевое слово UNSIGNED
из определения внешнего ключа ...