No caso de chaves estrangeiras, os campos referenciado e referenciado devem ter exatamente o mesmo tipo de dados.
Você cria o
id
campos em ambos os users
e firms
conforme assinado inteiros. No entanto, você cria ambas as chaves estrangeiras como não assinadas inteiros, portanto, a criação das chaves falhará. Você precisa adicionar o
unsigned
cláusula para o id
definições de campo ou remova o unsigned
cláusula dos campos de chave estrangeira.