2016-05-09 7 views
0

このステートメントはランダムに停止しました。私はそれが4.5.2を使用しているWAMPの新しいバージョンのためだと信じています。mysql ON DUPLICATE KEYが認識されない

INSERT INTO at_user_listing_settings (userID, rfID, userID_rfID, Watching) VALUES(177, 35888, '177_35888', '1') ON DUPLICATE KEY UPDATE Watching='1' 

私はこのエラーを取得する:

Unrecognized keyword. (near "ON" at position 138) 
Unrecognized keyword. (near "DUPLICATE" at position 141) 
Unrecognized keyword. (near "KEY" at position 151) 

私は、構文に何かを見つけるように見えるカントは、ON DUPLICATE KEY変更または廃止されましたか?

+0

あなたは何の** 4.5.2' **を使用していますか? – RiggsFolly

+0

この正確なクエリでこのエラーが発生しますか?** – RiggsFolly

+0

は次のように出力されます。SELECT version(); –

答えて

0

単にこれにクエリを書き直す:

INSERT INTO at_user_listing_settings 
SET 
    userID = 177, 
    rfID = 35888, 
    userID_rfID = '177_35888', 
    Watching = '1' 
ON DUPLICATE KEY UPDATE 
    Watching = '1' 
+0

興味がありません....物事を改善するためにはどうなるのですか? – RiggsFolly

+0

あなたは大歓迎です。 – Legionar

+0

私は上記のステートメントを試みたが、それでも同様のエラーが発生する、それはまた別の列について何かを言っている。おそらく問題を引き起こしているのは「Notes」でしょうか? エラー:キーワードが認識されません。(位置151の "ON"付近) キーワードが認識されません。 (154位の "DUPLICATE"近く) キーワードが認識されません。 (位置164の "KEY"の近く) エイリアスが見つかりました。 (189桁目の「 '1」の近く) #1364 - フィールド' Notes 'にデフォルト値がありません 最後のエラー部分に何か関係があるかどうか疑問に思っています... –

1

これはphpMyAdmin問題であるように思われます!

は、いくつかの奇数を持ったそれはむしろ古いようだが、私は修正への参照を見ない、そして私たちが人としてAdminer, SourceForge download link hereと呼ばれる似ツールのアドオンを提供

まだ開いているgithub errors that have been reported

を参照してください。 phpMyAdminの

の問題はそれをダウンロードし、それが「あなたのエイリアス」メニュー最後にこの事を考え出し

+0

私はあなたに与えます少なくとも、それがコードの問題ではなく、phpmyadminの問題であることを知っていれば+1してください。技術的には、それはmysqlの設定でした。 –

2

にWAMPServerホームページにストレートWAMPServerにインストールして、表示されます。

新しいバージョンのWAMPをダウンロードすると、デフォルトでmysqlが「Strict」モードに設定されます。 hostgatorによってホストされている私の実際のサーバーには、より寛大な制限が必要です。コードをローカルで実行しようとすると、コードは正しいものの、データベースに更新または挿入しようとするとSQL文に問題が発生していました(ローカルにも)。

たとえば、ブール値を持つStrictモードの必須列にはデフォルト値があります。いずれかの列にデフォルト値がない場合、挿入しようとすると失敗します。最悪の部分は、ApacheやPHPのエラーを返すことはないので、デバッグすることは非常に困難でした。それはまた、 "重複キーで"好きではありませんでした。

この問題を解決するために、私はWAMP> MySQL> my.ini>に行き、sql-mode="STRICT_ALL_TABLES"を探しました。

その後、STRICT_ALL_TABLESを削除し、すべてが正常に動作し始めました。

関連する問題