PHP mySQL - вставить новую запись в таблицу с автоинкрементом по первичному ключу - PullRequest
48 голосов
/ 21 сентября 2011

Хотите знать, существует ли сокращенная версия для вставки новой записи в таблицу с включенным первичным ключом?(т.е. не нужно включать ключевой столбец в запрос). Допустим, ключевой столбец называется ID, а другие столбцы - Fname, Lname и Website

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

Ответы [ 5 ]

103 голосов
/ 21 сентября 2011

Используйте ключевое слово DEFAULT:

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

Кроме того, вы можете указать столбцы (что лучше):

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

Справка:

12 голосов
/ 21 сентября 2011

Я предпочитаю этот синтаксис:

$query = "INSERT INTO myTable SET fname='Fname',lname='Lname',website='Website'";
5 голосов
/ 21 сентября 2011
$query = "INSERT INTO myTable VALUES (NULL,'Fname', 'Lname', 'Website')";

Если оставить значение первичного ключа AI NULL, будет назначено автоматически увеличенное значение.

3 голосов
/ 04 июня 2013

Это метод phpMyAdmin.

$query = "INSERT INTO myTable
         (mtb_i_idautoinc, mtb_s_string1, mtb_s_string2) 
         VALUES
         (NULL, 'Jagodina', '35000')";
0 голосов
/ 01 августа 2018

Вы также можете использовать пустые одинарные кавычки для столбца auto_increment. что-то вроде этого. У меня это сработало.

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