¿Cómo cambio el nombre de una columna de clave principal en MySQL?¿Cómo cambio el nombre de una columna de clave principal en MySQL?
Respuesta
No es diferente que la alteración de cualquier otra columna -
ALTER TABLE `pkey` CHANGE `keyfield` `keyfield2` INT(11) NOT NULL AUTO_INCREMENT
esto cambia la columna en la tabla keyfield
pkey
ser llamado keyfield2
- usted tiene que suministrar la definición después, como de costumbre.
Si está trabajando con InnoDB, entonces creo que no puede cambiar el nombre de las claves principales, al menos no puede hacerlo si las claves externas las referencian. Debe volcar la base de datos, cambiar el nombre de las columnas y hacer referencia a las claves en el archivo de volcado, y luego volver a cargar la base de datos.
Quizás tenga una restricción de clave externa en su lugar. Puede desactivarlos por SET foreign_key_constraints=0
, pero debe recordar actualizar la base de datos posteriormente.
¿Cómo cambio este valor? Cambio para el valor 1 después? –
@RafaelGomesFrancisco ¿qué quieres decir? – Alex
Es posible que funcione una mala práctica. Pero podría exportar su db completo a un archivo de texto sql. Busque y reemplace el PK al que desea cambiar el nombre y luego restaure la base de datos en sql.
Deja la parte PRIMARY KEY de la declaración alternativa. La clave principal se actualizará automáticamente.
Esta respuesta es la clave cuando recibes errores inesperados. ¡Estupendo! –
Si otras tablas tienen una clave foránea en su tabla, no puede cambiar el nombre de la columna usando alter table, arrojará el siguiente error: [HY000] [1025] Error al cambiar el nombre de xxx a yyy (errno: 150) usted debe:
- caída de las claves externas de otras tablas que señalan a la clave principal desea cambiar el nombre
- cambiar el nombre de la clave primaria
- añadir la columna extranjera a otros cuadros
Al cambiar el nombre de una tabla en Intellij, genera el código do drop y agrega la clave foránea.
- 1. ¿Cómo cambio el nombre de una clave foránea en mysql?
- 2. Cambio de clave principal
- 3. MySQL clave principal de multicolumna
- 4. Cambio de clave principal de MySQL cuando existe contraints clave externa
- 5. SQL: establecer la columna existente como clave principal en MySQL
- 6. ¿Clave externa de columna múltiple en MySQL?
- 7. Cambiar el nombre de columnas de clave externa en MySQL
- 8. Cambiar el nombre de columna en MySQL
- 9. Restricción de clave externa MySQL - Columna entera
- 10. ¿Una clave principal de MySQL en dos columnas ayuda con las consultas en la segunda columna?
- 11. Clave principal de dos columnas en MySQL
- 12. Cómo cambio el nombre de un índice en MySQL
- 13. MySQL - Cambiar el nombre de la columna
- 14. Cómo cambiar el nombre de una clave principal en Oracle de forma que pueda ser reutilizado
- 15. ¿Cómo cambiar la columna de clave principal en griales?
- 16. ¿Cómo cambio el nombre de una columna en una tabla de base de datos usando SQL?
- 17. Tamaño de clave principal/externa de MySQL?
- 18. Clave principal de múltiples columnas en MySQL 5
- 19. Vistas de MySQL en Navicat: cómo definir 'clave principal'?
- 20. ¿Cómo cambio el nombre de un esquema MySQL?
- 21. Mysql - Agregar auto_increment a la clave principal
- 22. Restablecer la clave principal en mysql?
- 23. ¿Cómo crear una clave externa que también es una clave principal en MySQL?
- 24. Agregar columna de clave principal en la tabla SQL
- 25. ¿Puede la misma columna tener clave principal y restricción de clave externa en otra columna
- 26. En MySQL, ¿cómo cambio el nombre de las tablas dentro de una base de datos?
- 27. MySQL - usando String como clave principal
- 28. Comodines en el nombre de columna para MySQL
- 29. Cambiar columna de clave principal en SQL Server
- 30. cómo agregar una clave principal a una tabla en rieles
Esta solución causará el error 150. –
Esto funciona cuando no hay claves externas. Otra respuesta sugiere volcar/restaurar toda la base de datos, lo que funcionará, pero solo descartar/recrear las claves/índices foráneos funcionó para mí. – penfold
de acuerdo con @Pavel Rodionov, arroja el siguiente error: [HY000] [1025] Error al cambiar el nombre de xxx a yyy (errno: 150) –