I believe it was the 42000 one.
If I disable strict mode, will everything still work? Will I be able to insert a row that is larger than the page size, or alter a table that would exceed the page size?
I understand that I can change all of the columns from varchar(255) to text, I understand what the error is telling me, and why. What I don’t understand is, if I change all of those columns to text, is that going to negatively impact the performance of select queries that have those fields in the where condition? This is my question, and whether changing the fields to text is my only option or if I have another option, like using dynamic row storage instead of compact. I understand that I can change the columns to text, and I AM considering that, but I don’t know all of the implications of doing that, specifically, select performance. This is what I’m trying to get information about, and if select performance is going to be impacted negatively, if there are other options like changing the row storage format.
Here is the table structure, obviously those 64 fields are causing this issue. My question is what are the implications for the various possible solutions. The application might run a lot of queries that use them, e.g. "SELECT * FROM users WHERE field1 = ‘…’ AND field2 LIKE ‘%…%’ AND field3 != ‘…’ etc.
CREATE TABLE users (
id int(10) UNSIGNED NOT NULL,
username varchar(50) COLLATE utf8_unicode_ci NOT NULL,
password varchar(255) COLLATE utf8_unicode_ci NOT NULL,
pw_ver tinyint(3) UNSIGNED NOT NULL DEFAULT ‘1’,
fname varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
lname varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
email varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
active tinyint(1) UNSIGNED NOT NULL DEFAULT ‘1’,
date_registered int(10) UNSIGNED NOT NULL,
last_login int(10) UNSIGNED NOT NULL,
last_ip varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL,
main_admin tinyint(1) UNSIGNED NOT NULL,
ug_admin tinyint(1) UNSIGNED NOT NULL,
sub_admin tinyint(1) UNSIGNED NOT NULL,
instructor tinyint(1) UNSIGNED NOT NULL,
link_to int(10) UNSIGNED DEFAULT NULL,
pw_reset_token varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
pw_reset_time int(10) UNSIGNED DEFAULT NULL,
pw_reset_ip varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL,
pw_last_change int(10) UNSIGNED NOT NULL DEFAULT ‘0’,
view_type varchar(15) COLLATE utf8_unicode_ci NOT NULL DEFAULT ‘catview’,
welcome_show tinyint(1) NOT NULL DEFAULT ‘1’,
new_fav tinyint(1) UNSIGNED NOT NULL DEFAULT ‘0’,
student_email_option tinyint(1) NOT NULL DEFAULT ‘1’,
tz_country varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
tz_zone varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
date_format varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
time_format varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
field1 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field2 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field3 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field4 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field5 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field6 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field7 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field8 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field9 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field10 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field11 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field12 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field13 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field14 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field15 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field16 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field17 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field18 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field19 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field20 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field21 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field22 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field23 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field24 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field25 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field26 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field27 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field28 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field29 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field30 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field31 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field32 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field33 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field34 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field35 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field36 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field37 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field38 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field39 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field40 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field41 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field42 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field43 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field44 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field45 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field46 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field47 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field48 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field49 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field50 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field51 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field52 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field53 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field54 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field55 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field56 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field57 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field58 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field59 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field60 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field61 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field62 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field63 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
field64 varchar(255) COLLATE utf8_unicode_ci DEFAULT ‘’,
created_by varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT ‘unknown’,
instructor_certs varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL,
api_access_token varchar(40) COLLATE utf8_unicode_ci NOT NULL,
api_refresh_token varchar(40) COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;