首页 > 解决方案 > 在 MySQL 中创建 SQL 表时遇到错误

问题描述

MySQL 在没有指定错误是什么的情况下返回错误。它把这个声明扔回去了

ERROR: syntax error at or near "(" LINE 2: "order_id" INT(10) NOT NULL, ^

我创建表的代码是:

CREATE TABLE dispatch (
   "order_id" INT(10) NOT NULL,
   "order_created_at"" DATETIME ,
   "order_number"" VARCHAR(30),
   "shipment_fc"" TINYTEXT,
   "shipment_priority"" TINYTEXT,
   "shipment_id"" INT(10),
   "shipment_status"" TINYTEXT,
   "shipment_number"" VARCHAR(30),
   "orderline_id"" INT(10),
   "processed_quantity"" INT(10),
   "orderline_client_name"" VARCHAR(30),
   "updated_at"" DATETIME,
   "waybill_created_at"" DATETIME,
   "child_waybill"" INT,
   "master_waybill"" INT,
   "shipped_at"" DATETIME,
   "cpt"" DATETIME,
   "diff"" FLOAT,
   "tat"" TINYTEXT,
   PRIMARY KEY ("order_id")
)

我基于 MySQL 在创建表之前提供的示例代码:

CREATE TABLE schema.table_name (
   "field_1" INT(10) NOT NULL,
   "field_2"" VARCHAR(20),
   "field_3"" DATETIME,
   "field_4"" TEXT,
   "field_5"" BLOB,
   PRIMARY KEY ("field_1")
)
[WITH OIDS|WITHOUT OIDS]

任何帮助,将不胜感激。

标签: mysqlsql

解决方案


您需要删除双引号,然后它应该可以工作。

CREATE TABLE dispatch (
   order_id INT(10) NOT NULL,
   order_created_at DATETIME ,
   order_number VARCHAR(30),
   shipment_fc TINYTEXT,
   shipment_priority TINYTEXT,
   shipment_id INT(10),
   shipment_status TINYTEXT,
   shipment_number VARCHAR(30),
   orderline_id INT(10),
   processed_quantity INT(10),
   orderline_client_name VARCHAR(30),
   updated_at DATETIME,
   waybill_created_at DATETIME,
   child_waybill INT,
   master_waybill INT,
   shipped_at DATETIME,
   cpt DATETIME,
   diff FLOAT,
   tat TINYTEXT,
   PRIMARY KEY (order_id)
);
/

这是演示


推荐阅读