2009-08-04 2 views

ответ

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

У меня возникла ошибка, когда я запустил это на оболочке. Возможно, я ошибся? mysql> SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE column_name LIKE '% watcher%' [AND table_schema = 'database']; ERROR 1064 (42000): У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «[AND table_schema =« database »] в строке 1 –

+0

Я использовал квадратные скобки, чтобы указать, что условие в них является необязательным. Удалите его вообще (например, все после LIKE%% watcher%) или удалите только символы квадратной скобки и замените «базу данных» своим фактическим именем базы данных (сохраняйте одинарные кавычки) – ChssPly76

+0

Я удалил квадратную скобку и получил еще одну ошибку: ERROR 1146 (42S02): Таблица «INFORMATION_SCHEMA.COLUMNS» не существует –

1

Это показывает вам немного больше информации ...

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 

Надеется, что это помогает!

Смежные вопросы