Mysql relata errno150, Não é possível criar erro de tabela ao criar chaves estrangeiras

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
Mysql relata errno150, Não é possível criar erro de tabela ao criar chaves estrangeiras

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.

Acho que você gosta

Origin blog.51cto.com/000011211684/2569663
Recomendado
Clasificación