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;