mariadb SQL #1064错误,但我无法解决

pobjuy32  于 2023-03-02  发布在  其他
关注(0)|答案(1)|浏览(130)

1064-SQL语法中有错误;检查与您的MariaDB服务器版本对应的手册,以了解在第1行使用near ')NULL,cashExp VARCHAR(30)NOT NULL DEFAULT'弯曲弯曲弯曲弯曲弯曲弯曲弯曲',' cashDa ...'的正确语法
this is an image of what i did

CREATE TABLE `balancemapper`.`homedata` (
    `cash` DOUBLE(100000) NULL , 
    `cashExp` VARCHAR(30) NOT NULL DEFAULT 'غير معروف' , 
    `cashDate` DATE NOT NULL DEFAULT CURRENT_TIMESTAMP , 
    `cashComms` VARCHAR(100) NOT NULL DEFAULT 'لا يوجد' , 
    PRIMARY KEY (`cash`)
) ENGINE = InnoDB;

我想不出来我在网上搜索了一下但是没有
我尝试将默认值从null更改为任何其他值以及更改为none和null,但没有区别
我试着把日期改为varchar,但是没有变化
我改变了长度也没有改变

ssm49v7z

ssm49v7z1#

FLOATDOUBLE可以带两个参数,也可以不带参数。不能只带一个参数。
MariaDB不支持100000位的精度,我记得限制是255位。

CREATE TABLE `balancemapper`.`homedata` (
    `cash` DOUBLE(100000,2) NULL
);

Error: Display width out of range for 'cash' (max = 255)

另外,如果您在cash列中存储货币值,则无论如何都不应使用FLOATDOUBLE,而应将DECIMAL用于固定精度的scaled数据类型。
另请参见https://mariadb.com/kb/en/double/

相关问题