#1064-您的SQL语法有误;检查手册....您的MariaDB服务器版本,以在第1行的')........附近使用正确的语法。

时间:2019-05-24 22:54:55

标签: mysql sql phpmyadmin

我正在尝试使用巨大的查询执行此查询 这是我的数据库查询................................

 CREATE TABLE `mydb`.`govtracker` ( `id` DOUBLE(10000) NOT NULL , 
 `site_name` VARCHAR(255) NOT NULL , `region` VARCHAR(255) NOT NULL , 
 `site_type` VARCHAR(255) NOT NULL , `site_code` VARCHAR(255) NOT NULL , 
 `tac_name` VARCHAR(255) NOT NULL , `dt_readiness` DATE NOT NULL , `rfs` 
 BOOLEAN NOT NULL , `rfs_date` DATE NOT NULL , 
 `huawei_1st_submission_date` DATE NOT NULL , `te_1st_submission_date` 
 DATE NOT NULL , `huawei_2nd_submission_date` DATE NOT NULL , 
 `te_2nd_submission_date` DATE NOT NULL , `huawei_3rd_submission_date` 
 DATE NOT NULL , `te_3rd_submission_date` DATE NOT NULL , 
 `acceptance_date_opt` DATE NOT NULL , `acceptance_date_plan` DATE NOT 
 NULL , `signed_sites` VARCHAR(255) NOT NULL , `as_built_date` DATE NOT 
 NULL , `as_built_status` VARCHAR(255) NOT NULL , `date_dt` DATE NOT NULL 
 , `dt_status` VARCHAR(255) NOT NULL , `shr_status` VARCHAR(255) NOT NULL 
 , `dt_planned` INT(1000) NOT NULL , `integeration_status` VARCHAR(255) 
 NOT NULL , `comments_snags` LONGTEXT NOT NULL , `cluster_name` LONGTEXT 
 NOT NULL , `type_standalone_colocated` VARCHAR(255) NOT NULL , 
 `installed_type_standalone_colocated` VARCHAR(255) NOT NULL , `status` 
 VARCHAR(255) NOT NULL , `pending` VARCHAR(255) NOT NULL , 
 `pending_status` LONGTEXT NOT NULL , `problematic_details` LONGTEXT NOT 
 NULL , `ets_tac` INT(100000) NOT NULL , `region_r` VARCHAR(255) NOT NULL 
 , `sf6_signed_date` DATE NOT NULL , `sf6_signed_comment` LONGTEXT NOT 
 NULL , `comment_history` LONGTEXT NOT NULL , `on_air_owner` VARCHAR(255) 
 NOT NULL , `pp_owner` VARCHAR(255) NOT NULL , `report_comment` LONGTEXT 
 NOT NULL , `hu_opt_area_owner` VARCHAR(255) NOT NULL , `planning_owner` 
 VARCHAR(255) NOT NULL , `po_number` VARCHAR(255) NOT NULL , 
 `trigger_date` DATE NOT NULL , `as_built_status_tr` VARCHAR(255) NOT NULL 
 ) ENGINE = InnoDB; 

但我发现此sql错误

 #1064 - You have an error in your SQL syntax; check the manual that 
 corresponds to your MariaDB server version for the right syntax to use 
 near ') NOT NULL , `site_name` VARCHAR(255) NOT NULL , `region` 
 VARCHAR(255) NOT NUL' at line 1

2 个答案:

答案 0 :(得分:0)

DOUBLE(10000)应该是什么?

您可以只使用DOUBLE。但是,强烈建议不要将id设置为双精度。相反,我建议:

id int auto_increment primary key,

或者,如果您认为int不够大,请使用bigint

答案 1 :(得分:0)

DOUBLE()具有两个参数MD,其中M是数字的总数,D是小数点后的数字点。 M的最大值为255。

您还具有一些INT(1000)值,其中INT()的最大值为255。

这是正确的查询,假设我们将DOUBLE()INT()的值设置为最大值255:

CREATE TABLE `mydb`.`govtracker` (
    `id` DOUBLE(255, 0) NOT NULL,
    `site_name` VARCHAR(255) NOT NULL,
    `region` VARCHAR(255) NOT NULL,
    `site_type` VARCHAR(255) NOT NULL,
    `site_code` VARCHAR(255) NOT NULL,
    `tac_name` VARCHAR(255) NOT NULL,
    `dt_readiness` DATE NOT NULL,
    `rfs` BOOLEAN NOT NULL,
    `rfs_date` DATE NOT NULL,
    `huawei_1st_submission_date` DATE NOT NULL,
    `te_1st_submission_date` DATE NOT NULL,
    `huawei_2nd_submission_date` DATE NOT NULL,
    `te_2nd_submission_date` DATE NOT NULL,
    `huawei_3rd_submission_date` DATE NOT NULL,
    `te_3rd_submission_date` DATE NOT NULL,
    `acceptance_date_opt` DATE NOT NULL,
    `acceptance_date_plan` DATE NOT NULL,
    `signed_sites` VARCHAR(255) NOT NULL,
    `as_built_date` DATE NOT NULL,
    `as_built_status` VARCHAR(255) NOT NULL,
    `date_dt` DATE NOT NULL,
    `dt_status` VARCHAR(255) NOT NULL,
    `shr_status` VARCHAR(255) NOT NULL,
    `dt_planned` INT(255) NOT NULL,
    `integeration_status` VARCHAR(255) NOT NULL,
    `comments_snags` LONGTEXT NOT NULL,
    `cluster_name` LONGTEXT NOT NULL,
    `type_standalone_colocated` VARCHAR(255) NOT NULL,
    `installed_type_standalone_colocated` VARCHAR(255) NOT NULL,
    `status` VARCHAR(255) NOT NULL,
    `pending` VARCHAR(255) NOT NULL,
    `pending_status` LONGTEXT NOT NULL,
    `problematic_details` LONGTEXT NOT NULL,
    `ets_tac` INT(255) NOT NULL,
    `region_r` VARCHAR(255) NOT NULL,
    `sf6_signed_date` DATE NOT NULL,
    `sf6_signed_comment` LONGTEXT NOT NULL,
    `comment_history` LONGTEXT NOT NULL,
    `on_air_owner` VARCHAR(255) NOT NULL,
    `pp_owner` VARCHAR(255) NOT NULL,
    `report_comment` LONGTEXT NOT NULL,
    `hu_opt_area_owner` VARCHAR(255) NOT NULL,
    `planning_owner` VARCHAR(255) NOT NULL,
    `po_number` VARCHAR(255) NOT NULL,
    `trigger_date` DATE NOT NULL,
    `as_built_status_tr` VARCHAR(255) NOT NULL
) ENGINE = InnoDB;

下次提示时,请尝试格式化查询格式,因为清理起来很麻烦。另一个专家提示,https://www.eversql.com/sql-syntax-check-validator/之类的服务使调试这样的语法变得非常容易。