Oracle / MySQL / SQL Server to modify a table field type and length

Oracle

ALTER TABLE T_USER MODIFY USERNAME VARCHAR2(18);

 

MySQL

ALTER TABLE T_USER CHANGE USERNAME USERNAME VARCHAR(200) NOT NULL COMMENT 'username';

SQL Server

ALTER TABLE T_USER ALTER COLUMN USERNAME VARCHAR(200);

 

[Note] SQL Server or index fields with constraints need to be addressed as follows:

  • Field is the primary key :
1 ALTER TABLE T_USER DROP CONSTRAINT PK_T_USER;
2 ALTER TABLE T_USER ALTER COLUMN ID VARCHAR(20) NOT NULL;
3 ALTER TABLE T_USER ADD CONSTRAINT PK_T_USER PRIMARY KEY (ID);

 

 

  • Field constrained , and modify the field length is greater than the original length:
1 ALTER TABLE T_USER DROP CONSTRAINT UN_T_USER;
2 ALTER TABLE T_USER ALTER COLUMN USERNAME VARCHAR(20);
3 ALTER TABLE T_USER ADD CONSTRAINT UN_T_USER UNIQUE (USERNAME);
  • Field has an index , such as a unique index and the modified field length is greater than the original length:
1 DROP INDEX IDX_USER ON T_USER;
2 ALTER TABLE T_USER ALTER COLUMN USERNAME VARCHAR(20);
3 CREATE INDEX IDX_USER ON T_USER(USERNAME);

 

Guess you like

Origin www.cnblogs.com/EaTerLeader/p/11573695.html