Motivo do erro 1: os tipos de caracteres da chave primária e da chave estrangeira não correspondem
Primeiro crie duas tabelas da seguinte forma e depois execute-as. Verifica-se que a criação das duas tabelas falhou. Após a verificação, o motivo é analisado e o motivo é que o tipo de caractere da chave primária e da chave estrangeira não correspondem. ) Digite, contanto que seja alterado para um tipo de caractere consistente para resolver o problema.
Se você achar que a tabela que você criou tem a mesma chave primária e tipo de caractere de chave estrangeira, considere outras possibilidades, continue.
create table one(
id int primary key,
oname VARCHAR(30)
);
create table two(
tid char(10),
tname VARCHAR(30),
constraint t_o_sk foreign key (tid) references one(id) on delete cascade on update cascade
##on delete cascade是级联删除,on update cascade 是级联更新
);
Motivo do erro 2: a chave primária da tabela primária não é a chave primária.
Se for, e a tabela for criada novamente, você pode usar alter para modificá-la.
Se este problema não for resolvido, o terceiro caso pode ser considerado a seguir.
alter table one modify id int primary key;
Motivo do erro 3: verifique se a codificação de caracteres é consistente
Motivo do erro 4: a coluna referenciada pela chave estrangeira não pode ser encontrada. Quando a chave estrangeira é
adicionada, pode já haver dados (dados históricos ou o valor padrão definido quando a tabela do banco de dados é atualizada), mas esses dados podem não estar necessariamente associados à chave estrangeira Encontre a linha correspondente na tabela. Essa situação também fará com que a criação da chave estrangeira falhe.