Tôi gặp vấn đề với bảng mã mysql. Mỗi bảng trong cơ sở dữ liệu của tôi có bộ ký tự mặc định. Ví dụ:Mysql thay đổi bảng mã mặc định thành bộ ký tự cơ sở dữ liệu
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
Tôi muốn loại bỏ khối CHARSET DEFAULT, vì vậy bảng có thể sử dụng cơ sở dữ liệu charset mặc định:
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
Có cách nào để làm điều này mà không cần tái tạo bảng?
tôi biết, nhưng khi tôi làm như vậy, 'DEFAULT khối CHARSET' không khỏi định nghĩa bảng của tôi – Ris90
Bạn có thể muốn thay đổi toàn bộ cơ sở dữ liệu sau đó. Tôi đã thêm thông tin vào câu trả lời. Tôi nghi ngờ rằng bộ ký tự mặc định và bộ ký tự hoạt động có thể khác nhau cho bảng của bạn, nhưng nó phụ thuộc vào cách bạn tạo ra định nghĩa. 'SHOW CREATE TABLE tbl_name' sẽ hoạt động. Sau khi tôi thực thi câu lệnh 'ALTER TABLE' để thay đổi bộ ký tự, truy vấn' SHOW CREATE TABLE ... 'hiển thị bộ ký tự mới như là DEFAULT CHARSET. Để có danh sách các bộ ký tự/collations, sử dụng ['SHOW COLLATION'] (http://dev.mysql.com/doc/refman/5.1/en/show-collation.html). – JYelton
Tôi không muốn xóa hoàn toàn khối DEFAULT CHARSET khỏi định nghĩa bảng, không phải chageet charset mặc định cho bảng, nhưng loại bỏ khối này để làm cho mỗi bảng sử dụng mã hóa cơ sở dữ liệu – Ris90