2016-08-17 14 views
-4

ERROR 1064(42000):SQL構文に誤りがあります。 私はMySQLでtopコマンドを使用してn番目の最も高い給料を得ることができますどのラインで'(2) from empdata where empid='E-713''近くで1MySql TOPコマンドの使用に関する問い合わせ

mysql> delete TOP(2) from empdata where empid='E-713'; 
+-------+--------+--------+--------+------+---------+ 
| id | name | height | salary | age | city | 
+-------+--------+--------+--------+------+---------+ 
| E-713 | Rajat | 5.11 | 25000 | 25 | jaipur | 
| E-720 | Ritesh | 5.8 | 30000 | 27 | Delhi | 
| E-711 | Javed | 5.7 | 23000 | 25 | kashmir | 
| E-715 | Puneet | 5.1 | 20000 | 27 | Noida | 
| E-713 | Rajat | 5.11 | 25000 | 25 | jaipur | 
+-------+--------+--------+--------+------+---------+ 

を使用する権利構文についてはMySQLサーバのバージョンに対応していることを、マニュアルをご確認ください。私の構文は私の知識によると正しいですが、押して上記のエラーが点滅します。

答えて

1

これはコメントのために少し長いです。

MySQLはSELECT TOPをサポートしていません。これは通常SQL Serverに関連付けられています。

は、それがサポートLIMITを行うので、あなたが書くことができます:それは2つの任意行が削除されますので、

delete ed 
    from empdata ed 
    where empid = 'E-713' 
    limit 2; 

しかし、これは、非常に危険です。ほとんどの場合、あなたはORDER BYたい:あなたはTOPLIMITを使用しているかどうか

delete ed 
    from empdata ed 
    where empid = 'E-713' 
    order by ?? 
    limit 2; 

これは本当です。

関連する問題