Saltar al contenido

Modificar la tabla de MySQL para agregar comentarios en las columnas

Solución:

tratar:

 ALTER TABLE `user` CHANGE `id` `id` INT( 11 ) COMMENT 'id of user'  

Puedes usar MODIFY COLUMN para hacer esto. Solo haz…

ALTER TABLE YourTable
MODIFY COLUMN your_column
your_previous_column_definition COMMENT "Your new comment"

sustituyendo:

  • YourTable con el nombre de tu mesa
  • your_column con el nombre de tu comentario
  • your_previous_column_definition con la columna column_definition, que recomiendo obtener a través de SHOW CREATE TABLE YourTable comando y copia textualmente para evitar trampas. *
  • Your new comment con el comentario de la columna que desee.

Por ejemplo…

mysql> CREATE TABLE `Example` (
    ->   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    ->   `some_col` varchar(255) DEFAULT NULL,
    ->   PRIMARY KEY (`id`)
    -> );
Query OK, 0 rows affected (0.18 sec)

mysql> ALTER TABLE Example
    -> MODIFY COLUMN `id`
    -> int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Look, I''m a comment!';
Query OK, 0 rows affected (0.07 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> SHOW CREATE TABLE Example;
+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table   | Create Table                                                                                                                                                                                                  |
+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Example | CREATE TABLE `Example` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Look, I''m a comment!',
  `some_col` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

* Siempre que uses MODIFY o CHANGE cláusulas en un ALTER TABLE declaración, le sugiero que copie la definición de columna de la salida de un SHOW CREATE TABLE declaración. Esto lo protege de perder accidentalmente una parte importante de la definición de su columna al no darse cuenta de que debe incluirla en su MODIFY o CHANGE cláusula. Por ejemplo, si tu MODIFY un AUTO_INCREMENT columna, debe especificar explícitamente el AUTO_INCREMENT modificador de nuevo en el MODIFY cláusula, o la columna dejará de ser una AUTO_INCREMENT columna. Del mismo modo, si la columna se define como NOT NULL o tiene un DEFAULT valor, estos detalles deben incluirse al hacer un MODIFY o CHANGE en la columna o se perderán.

Script para todos los campos de la base de datos:

SELECT 
table_name,
column_name,
CONCAT('ALTER TABLE `',
        TABLE_SCHEMA,
        '`.`',
        table_name,
        '` CHANGE `',
        column_name,
        '` `',
        column_name,
        '` ',
        column_type,
        ' ',
        IF(is_nullable="YES", '' , 'NOT NULL '),
        IF(column_default IS NOT NULL, concat('DEFAULT ', IF(column_default IN ('CURRENT_TIMESTAMP', 'CURRENT_TIMESTAMP()', 'NULL', 'b'0'', 'b'1''), column_default, CONCAT(''',column_default,''') ), ' '), ''),
        IF(column_default IS NULL AND is_nullable="YES" AND column_key = '' AND column_type="timestamp",'NULL ', ''),
        IF(column_default IS NULL AND is_nullable="YES" AND column_key = '','DEFAULT NULL ', ''),
        extra,
        ' COMMENT '',
        column_comment,
        '' ;') as script
FROM
    information_schema.columns
WHERE
    table_schema="my_database_name"
ORDER BY table_name , column_name
  1. Exportar todo a un CSV
  2. Ábrelo en tu editor csv favorito

Nota: puede mejorar a una sola mesa si lo prefiere

La solución dada por @Rufinus es excelente, pero si tiene incrementos automáticos, la romperá.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *