I was using a TEXT database field for some text settings and found that it uses 64kb of data
1 | SELECT name , char_length(comment)/1024 FROM settings; |
Checking the field size with the above query I found that the largest content was 0.6660 kb. So I had specified a massively too large column type for the comment column
To check your field sizes you can run this query
1 2 3 | select column_name, data_type, character_maximum_length, table_schema from information_schema.columns where table_name = 'YourTableName' AND table_schema = 'YourDBname' |
So after this I changed from the TEXT column type back to VARCHAR as follows
1 2 | ALTER TABLE `MyDBName`.`settings` CHANGE COLUMN `MyColumnName` `MyColumnName` VARCHAR (1000) NOT NULL ; |
This then created a problem in the CakePHP view that the input field was now automatically outputting an input field of type text and I wanted multi-line input.
So had to change my view code slighty
1 2 3 4 5 | // view //from echo $this ->Form->input( 'comment' ); //to echo $this ->Form->input( 'comment' , [ 'type' => 'textarea' ]); |
This stops CakePHP automagically setting the input for a VARCHAR field to type="text" and you can then enter multi-line content to your hearts content
0 Comments