Maison >base de données >tutoriel mysql >Comment interroger le dernier enregistrement dans MySQL
Comment interroger le dernier enregistrement dans MySQL : 1. Affichez la table et la structure de la table dans la base de données actuelle ; 2. Triez le champ ID dans l'ordre inverse en fonction de l'auto-incrémentation de l'ID et affichez la première ligne ; La fonction selon l'instruction d'insertion actuelle last_insert_id() peut vérifier le dernier enregistrement.
L'environnement d'exploitation de cet article : système Windows 7, mysql version 8.0, ordinateur Dell G3.
Comment interroger le dernier enregistrement dans MySQL ?
MySQL interroge le dernier enregistrement
1 Environnement et préparation des données
1. Afficher la table dans la base de données actuelle
mysql> show tables; +----------------+ | Tables_in_test | +----------------+ | my_insert1 | | my_insert2 | +----------------+
2. structure
mysql> show create table my_insert1\G; *************************** 1. row *************************** Table: my_insert1 Create Table: CREATE TABLE `my_insert1` ( `name` varchar(10) CHARACTER SET latin1 DEFAULT NULL, `password` varchar(32) CHARACTER SET latin1 DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 1 row in set (0.00 sec)
3 .Affichez la structure de la table my_insert2
mysql> show create table my_insert2\G; *************************** 1. row *************************** Table: my_insert2 Create Table: CREATE TABLE `my_insert2` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(10) CHARACTER SET latin1 DEFAULT NULL, `password` varchar(32) CHARACTER SET latin1 DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 1 row in set (0.00 sec)
4. Insérez des enregistrements dans les tables my_insert1 et my_insert2
mysql> insert into my_insert1(name,password) values ('黄飞鸿',password(123456)),('李小龙',password(123456)); mysql> insert into my_insert2(id,name,password) values (null,'黄飞鸿',password(123456)),(null,'李小龙',password(123456));
5 Affichez les enregistrements de la table
mysql> select * from my_insert1; +-----------+----------------------------------+ | name | password | +-----------+----------------------------------+ | 黄飞鸿 | *6BB4837EB74329105EE4568DDA7DC67 | | 李小龙 | *6BB4837EB74329105EE4568DDA7DC67 | +-----------+----------------------------------+ mysql> select * from my_insert2; +----+-----------+----------------------------------+ | id | name | password | +----+-----------+----------------------------------+ | 1 | 黄飞鸿 | *6BB4837EB74329105EE4568DDA7DC67 | | 2 | 李小龙 | *6BB4837EB74329105EE4568DDA7DC67 | | 3 | 李连杰 | *6BB4837EB74329105EE4568DDA7DC67 | +----+-----------+----------------------------------+
2. Lorsqu'il n'y a pas de champ d'incrémentation automatique d'ID dans. la table et il y a une incrémentation automatique de l'ID, affichez le dernier enregistrement De la même manière
1 Depuis my_insert1, il n'y a pas d'incrémentation automatique de l'ID, vérifiez combien d'enregistrements il y a dans la table actuelle
mysql> select count(*) from my_insert1; +----------+ | count(*) | +----------+ | 2 | +----------+ 1 row in set (0.00 sec)
2. enregistrement de la table actuelle
mysql> select * from my_insert1 limit 1,1; +-----------+----------------------------------+ | name | password | +-----------+----------------------------------+ | 李小龙 | *6BB4837EB74329105EE4568DDA7DC67 | +-----------+----------------------------------+ 1 row in set (0.00 sec)
3. En fonction de l'incrémentation automatique de l'ID, utilisez une sous-requête pour afficher la table. La valeur maximale du champ ID
mysql> select * from my_insert2 where id=(select max(id) from my_insert2); +----+-----------+----------------------------------+ | id | name | password | +----+-----------+----------------------------------+ | 3 | 李连杰 | *6BB4837EB74329105EE4568DDA7DC67 | +----+-----------+----------------------------------+
4 Triez le champ ID dans l'ordre inverse en fonction de l'ID automatique. incrémentez et affichez la première ligne
mysql> select * from my_insert2 order by id desc limit 1; +----+-----------+----------------------------------+ | id | name | password | +----+-----------+----------------------------------+ | 3 | 李连杰 | *6BB4837EB74329105EE4568DDA7DC67 | +----+-----------+----------------------------------+
5. Vous pouvez utiliser la fonction last_insert_id() basée sur l'instruction d'insertion actuelle pour afficher le dernier enregistrement
mysql> insert into my_insert2(id,name,password) values(null,'霍元甲',password('123456')); Query OK, 1 row affected, 1 warning (0.00 sec) mysql> select * from my_insert2 where id=(select last_insert_id()); +----+-----------+----------------------------------+ | id | name | password | +----+-----------+----------------------------------+ | 4 | 霍元甲 | *6BB4837EB74329105EE4568DDA7DC67 | +----+-----------+----------------------------------+ 1 row in set (0.00 sec)
【Recommandations associées : tutoriel vidéo mysql】
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!