2011-12-14 1 views
0

Si j'ai une table nommée MUSIQUE:Comment SQL ID Insérez avec PHP

ID SONG ARTIST 
1 Gum Tim 
2 Air Bob 

Comment puis-je insérer une ligne avec ID autoincrement?

INSERT INTO MUSIC (ID, SONG, ARTIST) 
VALUES (,earth, mark); 
+0

Qu'est-ce que PHP a à voir avec cette question? Que veux-tu faire en PHP? L'auto-incrémentation est contrôlée par la base de données. – Charles

Répondre

1

Tant que ID est votre auto-incrément, cela devrait fonctionner. Vous n'avez pas besoin de le déclarer dans votre liste de champs.

INSERT INTO MUSIC (SONG, ARTIST) VALUES (earth, mark); 
+0

bien que j'écrivais les codes dans une page php .. j'ajoutais l'ID dans le champ d'insertion qui était mon erreur ..... qui a résolu le problème .. !! Merci!! :) –

+0

S'il vous plaît assurez-vous d'accepter la réponse qui a résolu votre problème si celui-ci ou l'autre dans le fil. Un taux d'acceptation élevé vous assure d'être aidé plus souvent. – Robert

0

Vous n'avez pas besoin d'utiliser l'ID d'auto-incrémentation dans le SQL. Utilisez cette

INSERT INTO MUSIC (SONG, ARTIST) VALUES (earth, mark); 

à la place, la colonne ID remplira automatiquement ...

0

champ ID doit être "autoincrement", en savoir plus here

Et dans le cas où il est déjà autoincroment:

INSERT INTO MUSIC (SONG, ARTIST) VALUES ('Yesterday', 'Beatles'); 
1

Vous pouvez faire:

INSERT INTO MUSIC (SONG, ARTIST) VALUES ('earth', 'mark'); 

ou

INSERT INTO MUSIC (ID, SONG, ARTIST) VALUES (NULL, 'earth', 'mark'); 
+0

Ceci dans le cas où l'ID est déjà auto-incrément bien sûr! – SlavaNov

-1

Vous devez définir la table SQL pour avoir une clé primaire. Ce n'est pas le travail de PHP de créer la clé. Ensuite, si vous avez besoin de la clé primaire, faire quelque chose comme ceci:

<?php 
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db('mydb'); 

mysql_query("INSERT INTO mytable (product) values ('kossu')"); 
printf("Last inserted record has id %d\n", mysql_insert_id()); 
?> 

Source: http://php.net/manual/en/function.mysql-insert-id.php

+0

-1, veuillez arrêter de diffuser l'utilisation de l'extension mysql. S'il vous plaît encourager l'utilisation de mysqli ou PDO à la place. – Charles

Questions connexes