Tengo un problema con el conjunto de caracteres de la tabla mysql. Cada tabla en mi base de datos tiene juego de caracteres predeterminado. Por ejemplo:Mysql cambia el juego de caracteres predeterminado de la tabla al conjunto de caracteres de la base de datos
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
Quiero quitar el bloque de caracteres predeterminado, por lo que la mesa podría utilizar la base de datos por defecto charset:
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
¿Hay alguna manera de hacer esto sin volver a crear la tabla?
lo sé, pero cuando lo hago, 'bloque CHARSET' DEFAULT no se quita de mi definición de la tabla – Ris90
Es posible que desee cambiar la base de datos completa a continuación. He agregado más información a la respuesta. Sospecho que el juego de caracteres predeterminado y el conjunto de caracteres activo puede ser diferente para su tabla, pero depende de cómo esté generando la definición. 'SHOW CREATE TABLE tbl_name' debería funcionar. Después de ejecutar una instrucción 'ALTER TABLE' para cambiar el conjunto de caracteres, la consulta' SHOW CREATE TABLE ... 'muestra el nuevo juego de caracteres como el CHARSET POR DEFECTO. Para obtener una lista de conjuntos/intercalaciones, use ['SHOW COLLATION'] (http://dev.mysql.com/doc/refman/5.1/en/show-collation.html). – JYelton
Quiero eliminar completamente el bloque DEFAULT CHARSET de la definición de la tabla, no cambiar el charset predeterminado para la tabla, pero eliminar este bloque para hacer que cada tabla use la codificación de la base de datos – Ris90