覆盖 sql table 结构
Overriding sql table structure
Table 1
CREATE TABLE `test`.`table_1` (
`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45),
PRIMARY KEY (`id`)
)
ENGINE = InnoDB;
Table 2
CREATE TABLE `test`.`table_2` (
`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(256) NOT NULL,
`number` INTEGER UNSIGNED NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE = InnoDB;
我想要得到的结果:
table1和table2应该是一样的,table1在我同事工作区,我想将其更改为 table 2 而不丢失数据
您可以使用 alter table
。应该没问题:
alter table table_1 modify name varchar(256) not null;
alter table table_1 add number integer unsigned not null;
注意:not null
实际上假定您的 table 为空(对于 number
)并且 name
没有 NULL
值。否则,您将需要一个默认值。
Table 1
CREATE TABLE `test`.`table_1` (
`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45),
PRIMARY KEY (`id`)
)
ENGINE = InnoDB;
Table 2
CREATE TABLE `test`.`table_2` (
`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(256) NOT NULL,
`number` INTEGER UNSIGNED NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE = InnoDB;
我想要得到的结果: table1和table2应该是一样的,table1在我同事工作区,我想将其更改为 table 2 而不丢失数据
您可以使用 alter table
。应该没问题:
alter table table_1 modify name varchar(256) not null;
alter table table_1 add number integer unsigned not null;
注意:not null
实际上假定您的 table 为空(对于 number
)并且 name
没有 NULL
值。否则,您将需要一个默认值。