2012-01-21 19 views
-3

これは愚かな質問かもしれないが、私はそれをどうやって行うのか本当に忘れてしまった。 レコードがmySQLデータベースに挿入されるたびに写真IDを自動インクリメントするにはどうすればよいですか? 最初のレコードでは1で始まり、その後は次のレコードで+1したいと考えています。ありがとう自動インクリメントを行う方法は?

データベースの列photoIDをPK、NN、AIに設定しました。

+6

AIは自動インクリメント – fazo

+3

...となります。 – DerVO

答えて

3

AUTO_INCREMENTのMySQL documentationはすばらしい明確な例です。簡単に言うと、あなたのフィールドは、自動インクリメントとして定義されている場合、例えば:

CREATE TABLE tablename (
    photoID INT NOT NULL AUTO_INCREMENT, 
    anotherField VARCHAR(50), 
    .... 
); 

あなたがINSERTを行うときにPHOTOIDの値を指定しない場合、その後、値は自動インクリメントされます(あなたが明示的に指定した場合NULLの値または値のリスト中の0は、値も自動インクリメントは)します:

INSERT INTO tablename (anotherField) VALUES ('something'); 

A SELECTは、1のphotoID値、何かのanotherField値になります。

+0

こんにちはjcmeloni、私は私のデータベースのために合計7列を持っていますが、私の挿入ステートメントはわずか6値があります。 mysql_query( "INSERT INTO'ピクチャ)VALUES( '$ facebookID'、 '$ name'、 '$ phone'、 '$ email'、 '$ pic'、 '$ caption'));自分のphotoID列にAI値を追加するにはどうすればいいですか? –

+0

@ypercube wow。それはまったく私の言うことではなく、あなたは絶対に正しいです。私は何を意味するかを編集するつもりです。ありがとう。 – jcmeloni

+2

'INSERT INTO picture(facebookId、name、phone、...)VALUES(...)'または: 'INSERT INTO picture VALUES(NULL、...)' –

1

phpmyadminを使用してデータベースの 'photoID'列を 'autoincrement'に設定します。それはその上のオプションの一つです。それは自動的にあなたのためにそれを行います。

0

CREATE TABLE foto(ID int auto_increment、UNIQUE(ID));

関連する問題