关于DATE INSERT的MySQL错误1064

时间:2013-04-10 22:12:15

标签: mysql date insert

我有一个名为“calendar”的表,它是在PHP程序中使用此SQL语句创建的。

$sql="CREATE TABLE calendar (
 mdate DATE,
 PRIMARY KEY(mdate),
 special CHAR(20),
 director CHAR(20),
 dealer CHAR(20), 
 meeting CHAR(20))";

当我尝试将数据插入此表时,我收到了MySQL的错误1064。为了确定错误的位置,我从我的PHP程序中复制了INSERT语句,并使用了常量而不是变量。这是INSERT语句:

INSERT INTO TABLE calendar (mdate, special, director, dealer, meeting) VALUES('2013-05-01','Special Game','Director','Dealer','Meeting');

以下是我收到的错误消息:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TABLE calendar (mdate, special, director, dealer, meeting) VALUES('2013-05-01','' at line 1

我认为错误涉及“mdate”列。我尝试了几种格式的日期,没有更改错误消息。我查看了MySQL手册9.1.3。日期和时间字面值,YYYY-MM-DD似乎是DATE列的有效格式。我还检查了9.3。保留字以确保我的列名都不是保留字。

我最初计划使用LOAD DATA INLINE来更新我的表,但事实证明该语句需要FILE权限,而我的网站主机不愿意授予该权限。

这似乎太简单了,不成问题。我希望有人可以看到我没有看到的东西。

2 个答案:

答案 0 :(得分:2)

您不得在TABLE句中使用关键字INSERT。它应该是这样的:

INSERT INTO calendar (mdate, special, director, dealer, meeting) 
VALUES('2013-05-01','Special Game','Director','Dealer','Meeting');

答案 1 :(得分:1)

日历已经是你不需要表的表了

    INSERT INTO calendar (mdate, special, director, dealer, meeting) 
    VALUES('2013-05-01','Special Game','Director','Dealer','Meeting');