更改数据库列名称及其类型,而不会丢失数据

Mr *_*war 3 mysql sql database

我想从更改名称和列的类型BIT(1)INT(1).

我正在使用MySQL Workbench.

我试过这个:

ALTER TABLE table_name ADD new_column_name INT(1)

update table_name
set new_column_name = convert(INT(1), old_column_name)

ALTER TABLE table_name DROP COLUMN old_column_name
Run Code Online (Sandbox Code Playgroud)

但是我收到了这个错误

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 'INT(1), old_column_name)'
Run Code Online (Sandbox Code Playgroud)

a_h*_*ame 5

ALTER TABLE table_name ADD new_column INT(1);

update table_name
  set new_column = case when old_column then 1 else 0 end;

ALTER TABLE table_name DROP COLUMN old_column;
Run Code Online (Sandbox Code Playgroud)

或者只是使用:

ALTER TABLE table_name MODIFY COLUMN old_column int;
Run Code Online (Sandbox Code Playgroud)