3

For table email_fier I try to change the type of field:

ALTER TABLE email_verifiers MODIFY COLUMN name text

I am getting this error:

#1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.

I also tried:

ALTER TABLE email_verifiers MODIFY COLUMN name text(6000)
user4157124
  • 2,809
  • 13
  • 27
  • 42
Vishal
  • 128
  • 13
  • 1
    Please provide `SHOW CREATE TABLE email_verifiers`. We need ti see [at least] datatypes and indexes and engine in order to point out what caused the problem in your case. – Rick James Aug 09 '23 at 04:57
  • https://stackoverflow.com/questions/15585602/change-limit-for-mysql-row-size-too-large – Georg Richter Aug 09 '23 at 07:19
  • We still hope you will post TEXT results of SHOW CREATE TABLE email_verifiers; When time permits for analysis. – Wilson Hauck Aug 09 '23 at 17:52

2 Answers2

3

Use :

USE db_name;
ALTER TABLE table_name ENGINE=MYISAM;

but U gonna loose all advantages InnoDB has compared to MyISAM . MyISAM is maybe faster like transactions and constrains.

also According to mysql document can change my.cnf and set :

  innodb_log_file_size = 256M
sep7696
  • 494
  • 2
  • 16
1
SET GLOBAL innodb_default_row_format='dynamic';
SET SESSION innodb_strict_mode=OFF;
ALTER TABLE tab ROW_FORMAT=DYNAMIC;
dogs Cute
  • 564
  • 3
  • 9