В случай на външни ключове, полетата за препращане и препращане трябва да имат абсолютно същия тип данни.
Вие създавате id полета и в двата users и firms като подписан цели числа. Вие обаче създавате и двата външни ключа като неподписани цели числа, следователно създаването на ключовете е неуспешно.
Трябва или да добавите unsigned клауза към id дефиниции на полета или премахнете unsigned клауза от полетата на външния ключ.