sql >> Database >  >> RDS >> Mysql

Hoe de toewijzing van een automatisch oplopende primaire sleutel overschrijven bij het invoegen van een waarde in een MySQL-tabel?

U hoeft de auto_increment niet uit te schakelen functie. Wanneer u een rij in de tabel invoegt en u de primaire sleutelwaarde in de rij opgeeft, wordt de gewenste id in de database opgeslagen. De auto_increment wordt alleen gebruikt als u het veld voor de primaire sleutel weglaat.

EDIT:ik dacht dat ik daar voorbeelden van zou kunnen geven:

mysql> describe test;
+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| value | varchar(45)      | NO   |     | NULL    |                |
+-------+------------------+------+-----+---------+----------------+
2 rows in set (0.02 sec)

mysql> insert into test (value) values ('row 1');
Query OK, 1 row affected (0.06 sec)

mysql> select * from test;
+----+-------+
| id | value |
+----+-------+
|  1 | row 1 |
+----+-------+
1 row in set (0.00 sec)

mysql> insert into test values (15, 'row 2');
Query OK, 1 row affected (0.03 sec)

mysql> select * from test;
+----+-------+
| id | value |
+----+-------+
|  1 | row 1 |
| 15 | row 2 |
+----+-------+
2 rows in set (0.00 sec)

BEWERK 2

mysql> insert into test (id, value) values (3, 'row 3');
Query OK, 1 row affected (0.00 sec)

mysql> select * from test;
+----+-------+
| id | value |
+----+-------+
|  1 | row 1 |
| 15 | row 2 |
|  3 | row 3 |
+----+-------+
3 rows in set (0.00 sec)


  1. Mysql PDO maximale LONGBLOB-gegevenslengte bij ophalen

  2. Nieuwe traceervlag om tabelvariabele prestaties te herstellen

  3. Haal de eerste, tweede, derde of vierde maandag van een maand in SQLite

  4. Introductie van 's werelds eerste SaaS-platform dat diepgaande diagnostiek levert voor hybride SQL Server-omgevingen