MySQL Erro 1170 (42000): BLOB/ TEXTO Coluna Usado em Chave Especificação Sem um Chave Comprido

Ao criar um nova mesa ou alterando um existente mesa com primária chaves, único coações e índices, ou ao definir um nova indexar com Alterar Mesa manipulação afirmação em MySQL banco de dados, a seguinte erro poderá acontecer e inibir o o comando de complementar:

ERRO 1170 (42000): BLOB/ TEXTO coluna ‘field_name’ usado em chave especificação sem um chave comprido

O erro acontecer porque MySQL podem indexar somente a primeira N chamuscar de um BLOB ou TEXTO coluna. De modo a que a erro principalmente acontecer quando há um campina/ coluna tipo de TEXTO ou BLOB ou essas pertence a TEXTO ou BLOB tipos tal TINYBLOB, MEDIUMBLOB, Chalupa, TINYTEXT, MEDIUMTEXT, e LONGTEXT que você tenta fazer como primária chave ou indexar. Com total BLOB ou TEXTO sem o tamanho valor, MySQL é incapaz garantir o singularidade da coluna pois a suade variável e dinâmico tamanho. De modo que quando, usando BLOB ou TEXTO tipos como indexar, o valor de N deve ser fornecida de guisa MySQL podem determinar a chave comprido. Agora, MySQL fazsuporta limite em TEXTO ou BLOB. Texto() simplesmente acostumadotrabalho.

O erro irá também popular acima quando-se tentar para converter uma tabela coluna de não- TEXTO e não-BLOB tipo tal VARCHAR e ENUM em TEXTO ou BLOB tipo, com a coluna estado definido como único coações ou indexar. O Alterar Mesa SQL comando irá falhar.

A solução à problema é para retirar o texto ou BLOB coluna da indexar ou único coação, ou set outro campo como primária chave. Se you calãofazer que, e querendo para colocar uma fronteira ao TEXTO ou BLOB coluna, tentar usar VARCHAR tipo e espaço uma fronteira de comprido nela. By omissão, VARCHAR é limitada a um máxima de 255 caracteres e dela limite deve ser especificado subentendido dentro um parêntese logo após dela declaração, i.e VARCHAR200() irá limite a a 200 caracteres longa somente.

Às vezes, se bem que you dont’ uso TEXTO ou BLOB relacionado digitar seu mesa, o erro 1170 poderá também aparecer. A acontecer em situação tal quando-se especificar VARCHAR coluna como primária chave, mas errado set dela comprido ou caracteres tamanho. VARCHAR podem somente aceitar até 256 caracteres, portanto qualquer coisa tal VARCHAR512() irá força MySQL a auto- convertido o VARCHAR512() a um SMALLTEXT datatype, qual depois falhar com erro 1170 em chave comprido se a coluna é utilizada como primária chave ou único ou não- único indexar. Para solucionar esse problema, especificar uma imagem menos que 256 que as tamanho for VARCHAR campina.

importante: A página é máquina traduzida e previsto " como é" sem garantia. Máquina tradução pode ser difícil comprender. Por favor recorrer aoriginal Inglês artigo sempre que possível.


9 Respostas a “MySQL Erro 1170 (42000): BLOB/ TEXTO Coluna Usado em Chave Especificação Sem um Chave Comprido

  1. Eli Manobella
    Abril 30th, 2009 2232:
    9

    Muito obrigada à poste.
    Eu preciso um chave isto é mais tempo então 256.

    What será que posso fazer?

    googling a à passado 3 horas sem quaisquer sorte
    (Paco Zarabozo comentário fazia não trabalho para mim)

  2. Pregador à UTF8 convertido at hontou ni sou omou?
    Dezembro 13th, 2008 2220:
    8

    [...] Eu corria em algum problemas, EU atrás- pedal a esquadro um. Agradecidamente my reforço refeito o Latim banco de dados sem nenhum[...]

  3. Paco Zarabozo
    Outubro 29th, 2008 1016:
    7

    Bem, heresiaoutra solução. Você pode na verdade especificar a chave comprido para a sua indexar enquanto guardando seu campina como longtext. Isto é um exemplo:

    criar mesa mensagens(
    identificação int20() não nulo auto_increment,
    mensagem longtext,
    indexar ( mensagem(), identificação)
    );

    descender mensagens;
    demonstração indexar de mensagens;

    996 é o maximizar chave comprido mySQL possui aceito para mim.

    Aclamações,

    Paco

  4. David
    Outubro 27th, 2008 1950:
    6

    Muito obrigada!

  5. Malmequer Vilaia
    Outubro 6th, 2008 0350:
    5

    Muito obrigada muito. Eu havia esse problema e você foram um êxito vida protetor!

  6. Reza
    Desfile 7th, 2008 0415:
    4

    Agradecimento, muito bem definido

  7. Jamie Ardósia
    Fevereiro 23rd, 2008 0340:
    3

    Agradecimento à poste. Muita útil.

  8. Ben Calejado
    Fevereiro 20th, 2008 0245:
    2

    agradecimento Muita útil poste.

  9. Felix
    Agosto 30th, 2007 1833:
    1

    Agradecimento for pondo this acima. EU didnt’ obter o erro e você salvido me muita o frustração. Identificaçãoposto you na ‘Goog povoscategoria qualquer hora;-)

Permissão uma resposta

Você pode uso estes talões: <um href="" título=""> <abbr título=""> < acrônimo título=""> <b> <blockquote citar=""> < citar> < código> <del datetime=""> <em> < eu> <q citar=""> < greve> < forte>

Subscrever a comentários aspecto tem sido inválido. Para receber notificação de última comentários despachado, subscrever aMy Digital Vida Comentários RSS alimentos ouregistro para receber nova comentários em diário correio eletrônico compilação.
Custom Search

Nova Artigos

Recebida Procura Termos à Artigo

usado em chave especificação sem um chave comprido - mysql erro 1170 - mysql texto chave - usado em chave especificação sem um chave comprido - #1170 BLOB/ TEXTO coluna usado em chave especificação sem um chave comprido - MySQL " usado em chave especificação sem um chave comprido" - mysql 1170 - 42000 mysql - ERRO 1170 (42000): BLOB/ TEXTO coluna usado em chave especificação - ERRO 1170 (42000): BLOB/ TEXTO coluna 'type' usado em chave especificação sem um chave comprido - mysql texto primária chave - " usado em chave especificação sem um chave comprido" - #1170 BLOB/ TEXTO coluna usado em chave especificação sem um chave comprido - #1170 BLOB/ TEXTO coluna 'title' usado em chave especificação sem um chave comprido - #1170 BLOB/ TEXTO coluna 'post' usado em chave especificação sem um chave comprido - 1170 usado em chave especificação sem um chave comprido - BLOB/ TEXTO coluna 'oldprob' usado em chave especificação sem um chave comprido - BLOB/ TEXTO coluna usado em chave especificação sem um chave comprido - BLOB coluna 'url' usado em chave especificação sem um chave comprido - BLOB/ TEXTO coluna ' usado em chave especificação sem um chave comprido - blob texto coluna 'id' usado em chave especificação sem um chave comprido - blob texto coluna 'name' usado em chave especificação sem um chave comprido - bolg txt coluna usado jey especificação sem chave comprido - poderia não criar tableBLOB/ TEXTO coluna 'ip' usado em chave especificação sem um chave comprido - ERRO 1170 (42000): BLOB/ TEXTO coluna usado em chave especificação sem um chave comprido - ERRO 1170 (42000): BLOB/ TEXTO coluna usado em chave especificação sem um chave comprido - modx BLOB/ TEXTO coluna 'content' usado em chave especificação sem um chave comprido - mysql texto único chave - mysql usado em chave especificação sem um chave comprido - mysql #1170 - MySQL Erro 1170 - MySQL Erro Nr. 1170 - sql texto chave comprido - #1170 mysql - BLOB/ TEXTO coluna 'page_name' usado em chave especificação sem um chave comprido - BLOB/ TEXTO coluna 'content' usado em chave especificação sem um chave comprido - coluna usado em chave especificação sem um chave comprido - mysql texto blob limites - mysql O usado mesa tipo faz suporta BLOB/ TEXTO colunas - O usado mesa tipo faz suporta BLOB/ TEXTO colunas -