Как пропустить все имена столбцов в MySQL, когда таблица имеет автоинкрементный первичный ключ? - PullRequest
2 голосов
/ 24 апреля 2010

Таблица:

mysql> desc gifts;
+---------------+-------------+------+-----+---------+----------------+
| Field         | Type        | Null | Key | Default | Extra          |
+---------------+-------------+------+-----+---------+----------------+
| giftID        | int(11)     | NO   | PRI | NULL    | auto_increment |
| name          | varchar(80) | YES  |     | NULL    |                |
| filename      | varchar(80) | YES  |     | NULL    |                |
| effectiveTime | datetime    | YES  |     | NULL    |                |
+---------------+-------------+------+-----+---------+----------------+

все в порядке:

mysql> insert into gifts
    -> values (10, "heart", "heart_shape.jpg", now());
Query OK, 1 row affected (0.05 sec)

но есть ли способ не указывать "10" ... и просто позволить каждому быть 11, 12, 13 ...?

Я могу сделать это, используя

mysql> insert into gifts (name, filename, effectiveTime)
    -> values ("coffee", "coffee123.jpg", now());
Query OK, 1 row affected (0.00 sec)

но все имена столбцов должны быть указаны. Есть ли способ, которым их не нужно указывать, и автоматическое увеличение первичного ключа все еще работает? спасибо.

1 Ответ

3 голосов
/ 24 апреля 2010
values (NULL, "heart", "heart_shape.jpg", now());
...