2009-08-04 12 views

Antwort

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

Ich habe einen Fehler, wenn ich dies auf der Shell ausgeführt habe. Vielleicht habe ich mich vertippt? mysql> SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT AUS INFORMATION_SCHEMA.COLUMNS WHERE Spaltenname LIKE '% watcher%' [AND table_schema = 'Datenbank']; Fehler 1064 (42000): Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht, für die richtige Syntax in der Nähe von '[AND table_schema =' database ']' in Zeile 1 –

+0

Ich habe eckige Klammern verwendet, um anzugeben, dass die Bedingung in ihnen optional ist. Entferne es entweder komplett (zB alles nach LIKE '% watcher%') oder entferne nur die eckigen Klammerzeichen und ersetze "database" durch deinen tatsächlichen Datenbanknamen (einfache Anführungszeichen) – ChssPly76

+0

Ich habe die eckige Klammer entfernt und einen weiteren Fehler bekommen: ERROR 1146 (42S02): Tabelle 'INFORMATION_SCHEMA.COLUMNS' existiert nicht –

1

Dies zeigt Ihnen ein bisschen mehr Info ...

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 

Hoffe, es hilft!

Verwandte Themen