2016-02-28 109 views
-1

我有如下表:MySQL的插入錯誤#1064

CREATE TABLE `test123`.`orders` (
    `o_id` varchar(12) NOT NULL DEFAULT '', 
    `p_id` varchar(10) NOT NULL DEFAULT '', 
    `p_qty` int(11) DEFAULT NULL, 
    `p_price` decimal(15,2) DEFAULT NULL, 
    `o_price` decimal(15,2) DEFAULT NULL, 
    `c_charge` decimal(15,2) DEFAULT NULL, 
    `total_price` decimal(15,2) DEFAULT NULL, 
    `c_name` varchar(100) NOT NULL DEFAULT '', 
    `c_address` text NOT NULL, 
    `c_pin` varchar(11) DEFAULT NULL, 
    `c_mobile` varchar(11) NOT NULL DEFAULT '', 
    `c_email` varchar(100) DEFAULT NULL, 
    `o_dt` date NOT NULL, 
    `o_delivery_dt` date DEFAULT NULL, 
    `o_remarks` varchar(500) DEFAULT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

試圖執行以下插入查詢:

insert into [orders] ([o_id],[p_id],[p_qty],[p_price],[o_price],[c_charge],[total_price],[c_name],[c_address],[c_pin],[c_mobile],[c_email],[o_dt],[o_delivery_dt],[o_remarks]) 
values('2016020002','PA001','1','900.00','900.00','','900.00','ABCD','my full address','123456','12345678','[email protected]','2016-02-28 17:04:29','',''); 

在此插入查詢得到錯誤的執行如「你有一個錯誤的SQL語法;查看與您的MySQL服務器版本相對應的手冊,查看在[o_id],[p_id],[p_qty],[p_price],[o_price],[c_charge],[total_price],[ c_name],[c_a'在第1行] error no:1064.

請幫忙,在這裏找不到任何語法錯誤。

+0

從查詢中刪除所有'['和']' - 看起來像SQL-Server語法。 mysql中的關鍵字escape是backtics。 – Kenney

+0

感謝Kenney,你的建議像魅力一樣工作......非常感謝...... – SumanRana

回答

1

SQLFiddle我做了一些更改,現在架構運行。您在c_charge中插入了'',這是不正確的。另外[]標籤不是必需的。檢查鏈接。 查詢是針對Mysql數據庫作爲標記爲mysql的問題。

CREATE TABLE orders (
    o_id varchar(12) NOT NULL DEFAULT '', 
    p_id varchar(10) NOT NULL DEFAULT '', 
    p_qty int(11) DEFAULT NULL, 
    p_price decimal(15,2) DEFAULT NULL, 
    o_price decimal(15,2) DEFAULT NULL, 
    c_charge decimal(15,2) DEFAULT NULL, 
    total_price decimal(15,2) DEFAULT NULL, 
    c_name varchar(100) NOT NULL DEFAULT '', 
    c_address text NOT NULL, 
c_pin varchar(11) DEFAULT NULL, 
    c_mobile varchar(11) NOT NULL DEFAULT '', 
    c_email varchar(100) DEFAULT NULL, 
    o_dt date NOT NULL, 
    o_delivery_dt date DEFAULT NULL, 
    o_remarks varchar(500) DEFAULT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 


insert into orders(o_id,p_id,p_qty,p_price,o_price,c_charge,total_price,c_name,c_address,c_pin,c_mobile,c_email,o_dt,o_delivery_dt,o_remarks) 
values('2016020002','PA001','1','900.00','900.00',null,'900.00','ABCD','my full address','123456','12345678','[email protected]','2016-02-28 17:04:29',null,''); 
+0

感謝DQLFiddle,你的建議像魅力一樣工作......現在又增加了空值....非常感謝.... – SumanRana