2017-04-13 126 views
-2
INSERT into Customer 
(CustomerID, Forename, Surname, DOB, Address, Email) 
VALUES ('1', 'Steven’, ‘Halls’, ‘08/02/1992’, ‘%d-%m-%y’, ‘12 Lesnes Abbey SE7 8TX’, ‘[email protected]'); 

有人可以解释为什么这不起作用吗?#1136 - 列数不匹配MySQL中第1行的值计数

+0

这是什么 - ''%d-%m-%y''?它似乎是一个额外的值 –

+3

嗯......你指定了6列插入,但你给了七列的数据。 –

+2

此外,您使用一些数据而不是单引号的曲线引号。这将无法正常工作。 –

回答

0

从插入语句中删除'%d-%m-%y',将DOB数据类型定义为Date。

在表定义阶段,您无法更改日期的默认格式。 (它必须始终服从DATETIME,DATE或TIMESTAMP格式。)如手册所述:

有关更多信息,请参阅date and time reference docs

因此,您必须在输出点使用DATE_FORMAT()函数来实现此目标。

INSERT into Customer 
(CustomerID, Forename, Surname, DOB, Address, Email) 
VALUES ('1', 'Steven’, ‘Halls’, ‘1992-02-08’, ‘12 Lesnes Abbey SE7 8TX’, ‘[email protected]'); 
+0

非常感谢您的帮助 – Sinth

相关问题