¿Cómo puedo cambiar el nombre de una columna de clave principal en MySQL?

OriginalEl autor Vinicius Rocha | 2010-04-24

6 Comentarios

  1. 16

    no es diferente de la alteración de cualquier otra columna —

    ALTER TABLE `pkey` CHANGE `keyfield` `keyfield2` INT( 11 ) NOT NULL AUTO_INCREMENT 

    esto cambia la columna keyfield en la tabla pkey a ser llamado keyfield2 — usted tiene que proporcionar la definición después, como de costumbre.

    Esta solución hará que 150 de error.
    Esto funciona cuando no hay claves foráneas. Otra respuesta sugiere que el dumping o la restauración de toda la base de datos que funciona, pero acaba de caer y recrear las claves externas/índices trabajó para mí.
    de acuerdo con @Pavel Rodionov, lanza el siguiente error: [HY000][1025] Error en cambiar el nombre de xxx a yyy (errno: 150)

    OriginalEl autor Igor Serebryany

  2. 6

    Tal vez usted tiene una restricción de clave externa en el lugar. Puede deshabilitar aquellos por SET foreign_key_constraints=0 pero tienes que recordar que para la actualización de la base de datos después.

    Cómo puedo cambiar este valor? Tengo que hacer el cambio de valor 1 después?
    ¿a qué te refieres?

    OriginalEl autor Alex

  3. 5

    Dejar fuera de la CLAVE PRINCIPAL parte de la instrucción alter. La clave principal se actualizará automáticamente.

    Esta respuesta hace el truco cuando vas a errores inesperados. Genial!!!

    OriginalEl autor Dirigible

  4. 3

    Posible una mala práctica. Pero usted puede exportar toda la db para sql un archivo de texto. Buscar y reemplazar el PK nombre desea cambiar y, a continuación, restaurar la base de datos a través de sql.

    OriginalEl autor Samuel De Rycke

  5. 1

    Si usted está trabajando con InnoDB, entonces creo que usted no puede cambiar el nombre de las claves principales, al menos no se puede si se hace referencia a ellos por claves foráneas. Usted necesita para el volcado de la base de datos, cambiar el nombre de las columnas y de referencia claves en el archivo de volcado, a continuación, volver a cargar la base de datos.

    OriginalEl autor Eric Clack

  6. 0

    Si los demás tablas ha de clave externa en la tabla, directamente no se puede cambiar el nombre de la columna con alter table, se lanza el siguiente error: [HY000][1025] Error en cambiar el nombre de xxx a yyy (errno: 150)
    Usted debe :

    • caída de claves externas de otras tablas que apunta a la clave principal a la que desea cambiar el nombre
    • cambiar el nombre de la clave primaria
    • agregar el exterior de la columna a los demás tablas

    Al cambiar el nombre de una tabla en Intellij, se genera el código de la gota y agregar la clave externa.

    OriginalEl autor Remy Mellet

Dejar respuesta

Please enter your comment!
Please enter your name here