-1

我有一个名为“日历”的表,它是在 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 权限,而我的网站的主机不愿意授予该权限。

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

4

2 回答 2

2

您不能TABLEINSERT句子中使用关键字。它应该是这样的:

INSERT INTO calendar (mdate, special, director, dealer, meeting) 
VALUES('2013-05-01','Special Game','Director','Dealer','Meeting');
于 2013-04-10T22:15:44.473 回答
1

calendar 已经是 table 你不需要说 TABLE

    INSERT INTO calendar (mdate, special, director, dealer, meeting) 
    VALUES('2013-05-01','Special Game','Director','Dealer','Meeting');
于 2013-04-10T22:17:00.343 回答