360 votes

Obtenir les noms des tables à l'aide de l'instruction SELECT dans MySQL

Dans MySQL, je sais que je peux lister les tables d'une base de données avec :

SHOW TABLES

Cependant, je veux insérer ces noms de table dans une autre table, par exemple :

INSERT INTO metadata(table_name) SHOW TABLES /* does not work */

Existe-t-il un moyen d'obtenir les noms des tables à l'aide d'une instruction SELECT standard, par exemple :

INSERT INTO metadata(table_name) SELECT name FROM table_names /* what should table_names be? */

0 votes

Duplicata possible de stackoverflow.com/questions/64894/

8voto

GolezTrol Points 54531

Jetez un coup d'œil au tableau TABLES dans la base de données information_schema . Il contient des informations sur les tables de vos autres bases de données. Mais si vous êtes sur un hébergement mutualisé, vous n'y avez probablement pas accès.

6voto

Andrey Points 700

Je pense que vous pouvez obtenir les données que vous voulez à partir de INFORMATION_SCHEMA TABLES.

Vous pouvez trouver plus d'informations ici : http://dev.mysql.com/doc/refman/5.0/en/tables-table.html

-3voto

Eduardo Krp Points 1

Pour insérer, mettre à jour et supprimer, procédez comme suit :

$teste = array('LOW_PRIORITY', 'DELAYED', 'HIGH_PRIORITY', 'IGNORE', 'INTO', 'INSERT', 'UPDATE', 'DELETE', 'QUICK', 'FROM');
$teste1 = array("\t", "\n", "\r", "\0", "\x0B");
$strsql = trim(str_ireplace($teste1, ' ', str_ireplace($teste, '', $strsql)));
$nomeTabela = substr($strsql, 0, strpos($strsql, ' '));

print($nomeTabela);
exit;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X