IDはINSERTの直後にmysql_insert_id()で取得できます。 ID-image_name.jpgの形式でイメージを保存し、Image_Nameという名前の列に保存したいと考えています。今後のIDで画像を保存するにはどうすればよいですか?または、INSERT処理後に画像ファイルを保存する方が良いでしょうか?INSERTの前にmysql行のIDを取得する方法
答えて
はい、INSERTの後に画像を保存する方が良いです。ファイルの保存に失敗した場合は、INSERTを元に戻す(DELETEを使用するか、トランザクションをロールバックする)必要があります。標準の命名方式を使用している場合は、テーブルにファイル名を設定するためにデータベースに再度触れる必要はありません(テーブルにファイル名を入れる必要がないため)。
+1の最初の場所でテーブルのファイル名の必要はありません –
それはなぜですか?説明していただけますか? – srivani
@srivani: '/ some/path/image- $ id。$ ext'のようなイメージを常に呼び出す場合、データベースにファイル名は必要ありません。ピースを一緒に貼り付ける機能が必要です。あなたはデータベースのMIMEタイプが必要になります。それはあなたに拡張子を与えます。ボーナスは、ファイルシステムを再編成する場合、データベースを修正する必要がないということです。 –
INSERT処理後に保存するのが最も簡単な方法です。
mysql_query("INSERT INTO....."); // etc. etc.
$id = mysql_insert_id();
mysql_query("UPDATE table SET image = '$image_name' WHERE id = '$id'");
イメージを20文字のランダムな文字列などの一時的な一意の名前で保存し、挿入が完了したら名前を変更できます。
他にも述べたように、INSERTの前に確実にIDを取得することはできません。
画像のファイル名が行IDと一致する必要がある場合は、muの提案(トランザクションでのINSERT、ファイルの保存、行の更新、トランザクションのコミット)を続けます。
別の方法(ファイル名に一致するidの要件がない場合)は、uniqid()を使用してファイルに名前を付けることです。これにより、ファイルを保存し、単一のクエリで行をINSERTし、トランザクションを開いたままにすることができます。
- 1. UPDATE、INSERT、DELETEのWHERE句にmysqlの行IDを選択する方法は?
- 2. MySQLでINSERTされたばかりの行のオートナンバーIDを取得
- 3. PHPで実行されるMySQLクエリプロセスIDの取得方法
- 4. データストア - ID /名前値の取得方法
- 5. CodeIgniterのMySQLクエリにURL IDを取得する方法
- 6. Spring JdbcTemplateがMySQLからInsert IDを取得できない
- 7. mysql内のテーブルIDを取得する方法
- 8. DapperExtensions MySQLのINSERTは、ID
- 9. SQL、以前のINSERTから自動化されたIDを取得する方法は?
- 10. tree-model-js以前のノードIDを取得する方法
- 11. sqlのidでグループから名前を取得する方法
- 12. viewcontrollerのストーリーボードID /名前を取得する方法
- 13. IDの頂点を名前で取得する方法は?
- 14. マーカーの名前またはIDを取得する方法
- 15. MySQL INSERT中に重複した行がある場合、既存の行のIDを返す方法は?
- 16. MySQLストアドプロシージャのIDで行を取得するには?
- 17. 現在のビューIDと前のビューIDを取得する方法
- 18. mysqlの列を「カウント」する前に最後のid値を取得する方法は?
- 19. JavascriptにMySQL IDを取得
- 20. ユーザーのIDを取得する方法
- 21. エンティティのIDを取得する方法
- 22. 実行時にインタフェースの名前を取得する方法は?
- 23. 実行時にWebJobの名前を取得する方法
- 24. 別のINSERTストアド・プロシージャの実行中にINSERTストアド・プロシージャをコールし、その戻されたIDを取得する方法はありますか。
- 25. odooで保存する前に親のIDを取得する方法
- 26. PHP/MySQL:特定のIDの名前を取得
- 27. Google DataStore - ID /名前でデータを取得する方法
- 28. Pythonスレッド - 親ID /名前を取得する方法
- 29. SurveyMonkeyで調査IDを名前で取得する方法
- 30. mysqlは1行に多数のIDを取得します
これを保存すると、次のIDが100%確実であるかどうかを知ることができません。 –
イメージのファイル名にIDを含める特別な理由はありますか?私はすべての着信ファイルに対してランダムなファイル名を作成し、そのファイル名をデータベースレコードに保存します。 –