-1

PHP プログラムでこの SQL ステートメントを使用して作成された「calendar」という名前のテーブルがあります。

$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 権限が必要であり、私の Web サイトのホストはその権限を付与することを望んでいませんでした。

これは単純すぎて問題にならないようです。私が見ていないものを誰かが見てくれることを願っています。

4

2 に答える 2

2

文中にキーワードTABLEを使用してはいけません。INSERT次のようになります。

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