2011-07-05 4 views
0

私はいくつかのフィールドF2、F3(Columns)を持つテーブル(T1)を持っています。PHPを使用してSQL内のフィールドをインクリメント

テーブル(T1)に新しいフィールド(F1)を追加する必要があり、F1が主キーになります。

フィールドタイプF1は整数です。

F1の最初の行にランダムな8桁の数字を割り当て、残りの行を前の行から1ずつ増やす必要があります。この増分は、他のフィールドF2、F3などと同等になるはずです...

このF1は、全く新しい行がテーブルに追加される場合にも増やす必要があります。

PHPでlastinsertid()を使ってやろうとしましたが、新しく作成された行に対してのみ機能します。

私は、lastinsertid()を使用して上記のコードを記述するのに役立ちますか?

は明確ではないplzzは、MySQLを使用している場合、私は..

+0

を使用整数を増やす?新しい行が自動的に追加されるたびにインクリメントされます。 –

+0

私はあなたを助けたいと思っていますが、あなたが意味することは本当にわかりません。 2つの列を持つ既存のテーブルがあり、その列に新しい列を追加したいですか? F1をauto_incrementに設定すると、前の行のIDに自動的に1が追加されます。したがって、INSERT(F2、F3)VALUES( 'val1'、 'val2'); F1が自動的に割り当てられます。 – Jules

+0

まあ、PHPの関数lastInsertId関数のみを使う必要があります。最後に挿入された行またはシーケンス値のIDを返します。 –

答えて

4

知らせた場合:

ALTER TABLE myTable 
AUTO_INCREMENT = 1677216 , 
ADD COLUMN F1 INT PRIMARY KEY AUTO_INCREMENT ; 

既存の行がF1フィールドが自動的に1677216から始めて、IDSでいっぱいになります。


あなたはそれが整数ではなく文字列であることを心配している場合、それはidを使用したことがないことで文字列だふり、唯一自動として `F1`を設定する方が簡単ではないでしょうRIGHT(id,8)

関連する問題