我有一个名为“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权限,而我的网站主机不愿意授予该权限。
这似乎太简单了,不成问题。我希望有人可以看到我没有看到的东西。
答案 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');