首页 > 解决方案 > 在 PhpMyAdmin 中创建表时 MySQL 错误 1064

问题描述

CREATE TABLE `cuenta` (
    `id` INT NOT NULL AUTO_INCREMENT,
    `nombre` VARCHAR(100) NOT NULL,
    `institucion` INT(100) NOT NULL,
    `fechaApertura` DATETIME NOT NULL,
    `fechaCierre` DATETIME NOT NULL,
    `moneda` VARCHAR(100) NOT NULL,
    `saldoDisponible` DOUBLE(20) NOT NULL,
    `saldoInicial` DOUBLE(20) NOT NULL,
    `saldoPagado` DOUBLE(20) NOT NULL,
    `saldoRestante` DOUBLE(20) NOT NULL,
    `pago` DOUBLE(20) NOT NULL,
    PRIMARY KEY(`id`)
) ENGINE = INNODB;

我正在尝试使用该脚本创建一个表,但在 phpmyadmin 中出现错误

附近的语法有问题') NOT NULL, `saldoInicial` DOUBLE(20) NOT NULL, `saldoPagado` DOUBL...' in line 8

我是数据库新手,所以请帮忙。

标签: phpmysql

解决方案


根据文档 https://dev.mysql.com/doc/refman/ ,您在该字段缺乏精度方面犯了一个错误,请尝试下面的代码,十进制在处理货币(金融)应用程序时具有更好的精度8.0/en/fixed-point-types.html

CREATE TABLE `cuenta` (
        `id` INT NOT NULL AUTO_INCREMENT,
        `nombre` VARCHAR(100) NOT NULL,
        `institucion` INT(100) NOT NULL,
        `fechaApertura` DATETIME NOT NULL,
        `fechaCierre` DATETIME NOT NULL,
        `moneda` VARCHAR(100) NOT NULL,
        `saldoDisponible` DECIMAL(20,2) NOT NULL,
        `saldoInicial` DECIMAL(20,2) NOT NULL,
        `saldoPagado` DECIMAL(20,2) NOT NULL,
        `saldoRestante` DECIMAL(20,2) NOT NULL,
        `pago` DECIMAL(20,2) NOT NULL,
        PRIMARY KEY(`id`)
    ) ENGINE = INNODB;

推荐阅读