gpt4 book ai didi

Mysql将默认表字符集更改为数据库字符集

转载 作者:可可西里 更新时间:2023-11-01 06:59:08 25 4
gpt4 key购买 nike

我对 mysql 表字符集有疑问。我数据库中的每个表都有默认字符集。例如:

CREATE TABLE privacy_settings (
id_privacy_setting int(11) NOT NULL AUTO_INCREMENT,
id_account int(11) NOT NULL,
setting_name varchar(255) NOT NULL DEFAULT '0',
privacy_level int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (id_privacy_setting),
KEY fk_privacy_settings_accounts (id_account),
CONSTRAINT fk_privacy_settings_accounts FOREIGN KEY (id_account) REFERENCES accounts (id_account) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8

我想删除 DEFAULT CHARSET block ,以便表可以使用数据库默认字符集:

CREATE TABLE privacy_settings (
id_privacy_setting int(11) NOT NULL AUTO_INCREMENT,
id_account int(11) NOT NULL,
setting_name varchar(255) NOT NULL DEFAULT '0',
privacy_level int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (id_privacy_setting),
KEY fk_privacy_settings_accounts (id_account),
CONSTRAINT fk_privacy_settings_accounts FOREIGN KEY (id_account) REFERENCES accounts (id_account) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB

有什么办法可以不重新创建表来做到这一点吗?

最佳答案

要更改表的字符集,来自 MySQL Documentation :

如果要将表默认字符集和所有字符列(CHAR、VARCHAR、TEXT)更改为新字符集,请使用如下语句:

ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;

如果要将整个数据库转换为使用不同的默认字符集,可以发出此语句:(来自 Default Character Set and Collation)

ALTER DATABASE db_name DEFAULT CHARACTER SET charset_name;

关于Mysql将默认表字符集更改为数据库字符集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7028610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com