2016-08-18 2 views
0

私は自分のテーブルの最後の行の1つの値を更新するために私のSQLクエリをどのように調べるべきかを知りたがっています。私は残念ながら動作していないされているクエリでこれを実行しようとしました:PHPの最後の行の1つの値を更新するには

UPDATE tableName SET food=888 WHERE id=(SELECT MAX(id) FROM tableName) 

私が代わりにこのクエリを使用しようとしましたが、それは間違ってaswellだ:

UPDATE tableName SET food=88 ORDER BY id DESC LIMIT 1 

(私が作ることを目的に、クエリ内の引用符を逃しました明確に)

+3

でそれをテスト2番目のクエリで? – Shadow

+1

2番目のクエリが機能するはずです –

+1

テーブルの最後のエントリが、更新ステートメントの実行時に編集しているエントリになることは確かですか?並行性はどうですか?代わりに更新が必要なIDを念頭におく方が安全です。とにかく、最初のクエリがうまくいかなければならないと思います。それが実行されるとどうなりますか? – jedifans

答えて

0

あなたの第二のクエリが動作しますが、私はprobl何sqlfiddle

CREATE TABLE tableName 
    (`Id` int, `food` int) 
; 

INSERT INTO tableName 
    (`Id`, `food`) 
VALUES 
    (1, 8) 
; 

UPDATE tableName SET food=88 ORDER BY id DESC LIMIT 1; 
関連する問題