我有一个 mysql 表 adv(id(TEXT),index(TEXT) ) 我需要对其进行如下更改
ALTER TABLE adv
MODIFY COLUMN id VARCHAR(80),
MODIFY COLUMN index INT(11);
Run Code Online (Sandbox Code Playgroud)
假设 id 少于 80 个字符,索引少于 80 个字符,这是否会保留上述列中的所有数据?
是的,它会。当桌子上没有负载时,我建议遵循以下步骤。您不仅可以仔细检查一切是否正常,而且可能会更快。
CREATE TABLE new_adv LIKE adv;
ALTER TABLE new_adv
MODIFY COLUMN id VARCHAR(80),
MODIFY COLUMN index INT(11);
INSERT INTO new_adv SELECT * FROM adv;
RENAME adv TO old_adv, new_adv TO adv;
/*when everything is okay...*/
DROP TABLE old_adv;
Run Code Online (Sandbox Code Playgroud)
顺便说一句,最好不要使用index
列名称等关键字。您可能也想改变这一点。如果只是为了在使用此列时不必一直使用反引号的话。
归档时间: |
|
查看次数: |
3093 次 |
最近记录: |