2011-05-26 19 views
6

Süper bir n00b hatası alıyorum ve sözdizimi yardımına ihtiyacım var.SYNTAX YARDIM! SQL Alter Table Alter Column varchar (30) -> varcahar (100)

böyle tanımlayan bir tablo var:

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) 

ben varchar (100) için şehir varchar büyük yapmak için çalışıyorum ve bu hat

alter table easy_table alter column city varchar(100); 

Bu işe yaramazsa

012: Ayrıca bu hatayı alıyorum

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

çalışmıyor

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 

cevap

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

'Güncelle' o sütun üzerinde herhangi bir başka meta verileri kaldırmaz Alter bu sayfasına bakınız ifadesinde belirtildiği gibi, herhangi bir DEFAULT değeri, 'NULL' değil, vb. Diğer meta verileri korumak için [bu yazı] 'ya bakın (http://stackoverflow.com/questions/22914453/change-column-data- tip-in-mysql-olmadan-kaybetme-diğer-meta veri-default-notnull). – dyllandry

0

deneyin

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

Kullanım Değiştir kelime değil

İlgili konular