2011-05-26 10 views
6

Recibo un error súper n00b y necesito ayuda con la sintaxis.SYNTAX AYUDA! SQL Alter Table Alter Column varchar (30) -> varcahar (100)

Tengo una tabla que describe así:

mysql> describe easy_table; 
+---------------------+--------------+------+-----+---------+----------------+ 
| Field    | Type   | Null | Key | Default | Extra   | 
+---------------------+--------------+------+-----+---------+----------------+ 
| id     | bigint(20) | NO | PRI | NULL | auto_increment | 
| version    | bigint(20) | NO |  | NULL |    | 
| account_id   | bigint(20) | NO | MUL | NULL |    | 
| city    | varchar(30) | NO |  | NULL |    | 
... 
| name    | varchar(255) | YES |  | NULL |    | 
| name_two   | varchar(255) | YES |  | NULL |    | 
+---------------------+--------------+------+-----+---------+----------------+ 
13 rows in set (0.03 sec) 

que estoy tratando de hacer que la ciudad más grande varchar a varchar (100) y esta línea no funciona

alter table easy_table alter column city varchar(100); 

este también no funciona

alter table easy_table alter column city varchar(100) not null; 

consigo este error:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'varchar(100)' at line 1 

Respuesta

20
alter table easy_table modify column city varchar(100) not null; 
+0

'MODIFY' se retire cualquier otro meta-datos en esa columna no especificado en la declaración, por lo que cualquier valor 'DEFAULT',' NOT NULL', etc. Para preservar otros metadatos, consulte [esta publicación] (http://stackoverflow.com/questions/22914453/change-column-data- type-in-mysql-without-losing-other-metadata-default-notnull). – dyllandry

0

tratar

alter table easy_table change city city varchar(100); 
1

Usar la palabra clave Modificar, no altera

Cuestiones relacionadas