mysql - 错误 1264,我需要 DECIMAL、FLOAT 还是 DOUBLE

标签 mysql sql

我的问题是,当我尝试将任何十进制数插入表中时,它会引发以下错误。错误 1264 (22003):第 1 行“价格”列的值超出范围。我使用的是十进制。有必要将其更改为 FLOAT 或 DOUBLE。

INSERT INTO items (name_items, price) VALUES ('Red', 35.00), ('Racket', 65.00), ('Paq-3', 4.75), ('Paq-6', 5.00), ('bag', 10.00);

我不希望出现错误输出。

最佳答案

您没有包含十进制 price 列的定义,但以下定义应该可以解决该错误:

CREATE TABLE items (
    name_items VARCHAR(255),
    price DECIMAL(10, 2)
);

DECIMAL(10,2) 类型表示总共 10 个精度单位,其中 2 个位于小数位右侧 ,以覆盖插入语句中的精度级别。

关于mysql - 错误 1264,我需要 DECIMAL、FLOAT 还是 DOUBLE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58194756/

相关文章:

mysql - 无法输入 Unicode 数据、MySql、Express、M*EAN

php - MYSQL 选择最接近给定日期但不更早的最旧记录

mysql - 将 MySQL innodb 数据库加载到内存中

sql - Access Jet SQL INT() 函数 -> SQL Server 函数

sql - 无法使用 Datagrip 提交对表的更改

mysql - 如何使用 sQlite 获取每组的最大值直到它返回零

mysql - 更新整数列中的特定位

c# - 使用日期函数进行 mysql 查询时遇到问题

sql - 如何在 SQL where 子句中执行条件语句

sql - 在 SQL Server 2008 R2 中使用 PIVOT 表