注文を格納するテーブルがあります。
id(自動インクリメント)、oid(自動インクリメントされない)、次に注文の詳細。
いくつかの受注は、私はIDとOID(注文ID)を持っている理由これは、複数のエントリを持つことができ ので、あなたは3 xwidgetsと4Zwidgetsを注文した場合、彼らは同じOID注文エントリ用のテーブル列を増やす
の下に行く私は、割り当てるには、次のコードを使用しています
$maxquery = mysql_query("SELECT MAX(oid) FROM ordr") or die(mysql_error());
$maxresult = mysql_fetch_array($maxquery);
$maxid = $maxresult['MAX(oid)'];
$oid = $maxid + 1; -- this gives me a new OID for the next entry since i can not auto increment this column
まず、そのSQLを 'SELECT MAX(oid)+ 1 AS next_oid FROM ordr'に単純化することができます。第2に、新しいOIDの生成は、その世代およびその後の使用をロックするか、またはトランザクションで保護しない限り、危険です。第三に、このようにしないでください。ブレンダンの答えを見てください。 – pilcrow
ありがとうございました...あなたは正しいですブレンダンの答えは私が必要なものです。 –
私は愚かな質問だったので、投票しましたか? –