* Иногда * получаю ошибку при назначении константы в Delphi

Как мы обсуждали в комментариях выше, столбец внешнего ключа должен иметь тот же тип данных, что и первичный ключ, на который он ссылается.

Вы объявили свой первичный ключ user.id как $table->bigIncrements('id'), который становится BIGINT UNSIGNED AUTO_INCREMENT в синтаксисе MySQL.

Вы должны объявить внешний ключ как $table->unsignedBigInteger('user_id'), который в MySQL станет BIGINT UNSIGNED, что делает его совместимым с внешним ключом для столбца user.id.

8
задан JosephStyons 24 April 2009 в 16:18
поделиться

4 ответа

Для этого есть опция «Назначаемые типизированные константы» в опциях компилятора. Его также можно включить с помощью "{$ J +}" в вашем коде.

14
ответ дан 5 December 2019 в 06:24
поделиться

Может быть, эти проекты отличаются по настройке директивы компилятора $ J?

5
ответ дан 5 December 2019 в 06:24
поделиться

Я бы предложил проверить параметры проекта, раздел Компилятор , и посмотреть, сможете ли вы обнаружить какие-либо различия. Возможно, в проекте Bogus включена опция Назначаемые типизированные константы .

4
ответ дан 5 December 2019 в 06:24
поделиться

Как уже говорили другие, это почти наверняка директива {$ J +} .

Если у вас есть инструмент сравнения, вы можете сравнить файлы проекта, чтобы увидеть, как они отличаются - это просто текстовые файлы - для решения подобных проблем в будущем.

3
ответ дан 5 December 2019 в 06:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: