web-dev-qa-db-fra.com

PHP MySQL - Insérer un nouvel enregistrement dans la table avec incrémentation automatique sur la clé primaire

Vous vous demandez s'il existe une version abrégée pour insérer un nouvel enregistrement dans une table sur laquelle la clé primaire est activée? (c'est-à-dire ne pas avoir à inclure la colonne clé dans la requête) Disons que la colonne clé s'appelle ID et que les autres colonnes sont Fname, Lname et Website.

$query = "INSERT INTO myTable VALUES ('Fname', 'Lname', 'Website')";
48
JimmyJammed

Utilisez le mot clé DEFAULT:

$query = "INSERT INTO myTable VALUES (DEFAULT,'Fname', 'Lname', 'Website')";

En outre, vous pouvez spécifier les colonnes (ce qui est préférable):

$query = "INSERT INTO myTable
          (fname, lname, website)
          VALUES
          ('fname', 'lname', 'website')";

Référence:

102
regality

Je préfère cette syntaxe:

$query = "INSERT INTO myTable SET fname='Fname',lname='Lname',website='Website'";
12
jenkin90
$query = "INSERT INTO myTable VALUES (NULL,'Fname', 'Lname', 'Website')";

Il suffit de laisser la valeur de la clé primaire AI NULL pour attribuer une valeur incrémentée automatiquement.

5
Korvin Szanto

C'est la méthode phpMyAdmin.

$query = "INSERT INTO myTable
         (mtb_i_idautoinc, mtb_s_string1, mtb_s_string2) 
         VALUES
         (NULL, 'Jagodina', '35000')";
3
minimal

Vous pouvez également utiliser des guillemets simples vides pour la colonne auto_increment. quelque chose comme ça. Cela a fonctionné pour moi.

$query = "INSERT INTO myTable VALUES ('','Fname', 'Lname', 'Website')";
0
Rahul Bharati