У меня есть столбец X
который имеет тип double
. Можно ли вставлять значения в X, например, "3 + 4", чтобы сохранить его как 7? Я смог сделать это в более ранних версиях mysqlWorkbench, но с 6.3 я получаю ошибку " Data truncated for row..
". То же самое работает отлично, как и ожидалось, если запустить команду insert через терминал. Есть ли какие-то настройки/флаги для работы, как ожидалось? Благодарю.
Изменение: я попытался set sql_mode =''
для подавления ошибки. Ошибка была не там, но значение получилось как 3, а не 7.
Я тестировал в MySQL Workbench 6.3.6 (Ubuntu 16.04), а приведенные ниже команды работают:
use my_db;
create table my_table(id int primary key auto_increment not null, x double (50,5), y double (50,5));
insert into my_table (x, y) values (7+2, 9+3);
insert into my_table (x, y) values (7.2+2.3, 9.4+3);
insert into my_table (x, y) values (7-2, 9-3.3);
select * from my_table;
И выход:
В моем примере ваша таблица может хранить номера до 50 цифр с 5 цифрами после десятичной точки.
Дополнительные сведения о типах с плавающей запятой MySQL: https://dev.mysql.com/doc/refman/5.6/en/floating-point-types.html