2009-07-06 23 views
0

の最後の更新された列を検索:は、私は次のように(はZend_Dbを使用して)行くMySQLのクエリを持っているmysqlの

$sql = $handle->quoteInto("UPDATE board SET rank=rank+1 WHERE post_id=?", $postid); 
$handle->query($sql); 

(ランクが自動インクリメントPKではありません)。 別のクエリを実行せずにrankの値を取得したいとします。 私は$handle->lastInsertId();を試しましたが、MySQLの自然な自動インクリメント方法(私はできません - rankはポストのランクです。 )

別のクエリを実行するにはどうすればよいですか?最後に変更された値を返す関数ですか?

答えて

2

私はこれが可能であるとは思わない - あなたはSELECTをしなければならないでしょう。

+0

はい、私はそうaffraidだ: 'クエリ( "SELECT FROM WHERE ID = 'lastId'??")' – shkschneider

0

あなたは、MySQLが値を設定し、その後$handle->lastInsertId();が依存mysql_insert_id() Cの関数を経由して、それを利用できるようにするために提供してLAST_INSERT_ID機能を使用することができます。

次はそれに行われたLAST_INSERT_ID変更で、あなたのコードスニペットの更新バージョンです:

$sql = $handle->quoteInto("UPDATE board SET rank=LAST_INSERT_ID(rank+1) WHERE post_id=?", $postid); 
$handle->query($sql); 

は、ご質問があれば私に教えてください。

HTH、

-Dipin

関連する問題