2009-08-04 5 views

Répondre

4
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT 
    FROM INFORMATION_SCHEMA.COLUMNS 
WHERE column_name LIKE '%watcher%' 
[AND table_schema = 'database'] 
+0

J'ai eu une erreur lorsque j'ai exécuté ceci sur le shell. Peut-être que j'ai mal tapé? mysql> SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE nom_colonne LIKE '% watcher%' [ET table_schema = 'base de données']; ERREUR 1064 (42000): Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de '[ET table_schema =' base de données ']' à la ligne 1 –

+0

J'ai utilisé des crochets pour indiquer que cette condition est facultative. Supprimez-le complètement (par exemple, après LIKE '% watcher%') ou supprimez simplement les caractères entre crochets et remplacez "base de données" par votre nom de base de données réel (gardez les guillemets simples) – ChssPly76

+0

J'ai supprimé le crochet et j'ai une autre erreur: ERREUR 1146 (42S02): La table 'INFORMATION_SCHEMA.COLUMNS' n'existe pas –

1

Cela vous montre un peu plus d'infos ...

DECLARE @columnName as varchar(100) 
SET @columnName = 'ColumnName' 

SELECT t.name AS Table, c.name AS Column, 
ty.name AS Type, c.max_length AS Length, c.precision AS Precision 
FROM sys.tables AS t 
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID 
INNER JOIN sys.types ty ON c.system_type_id = ty.system_type_id 
WHERE c.name LIKE @columnName 
ORDER BY t.name, c.name 

Hope it helps!

Questions connexes