我正在尝试使用巨大的查询执行此查询 这是我的数据库查询................................
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
答案 0 :(得分:0)
DOUBLE(10000)
应该是什么?
您可以只使用DOUBLE
。但是,强烈建议不要将id
设置为双精度。相反,我建议:
id int auto_increment primary key,
或者,如果您认为int
不够大,请使用bigint
。
答案 1 :(得分:0)
DOUBLE()
具有两个参数M
和D
,其中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/之类的服务使调试这样的语法变得非常容易。