powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как узнать тип поля таблицы с помощью sql-команды?
15 сообщений из 15, страница 1 из 1
Как узнать тип поля таблицы с помощью sql-команды?
    #36162509
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например, проверяем, если поле start_date не равно типу DATETIME, то меняем его на DATETIME:
ALTER TABLE mytable MODIFY (start_date DATETIME).
Но как проверить тип поля??
...
Рейтинг: 0 / 0
Как узнать тип поля таблицы с помощью sql-команды?
    #36162688
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvlad,
Код: plaintext
SELECT DATA_TYPE FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=:schema AND TABLE_NAME=:table AND COLUMN_NAME=:column
...
Рейтинг: 0 / 0
Как узнать тип поля таблицы с помощью sql-команды?
    #36164099
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.
А что такое TABLE_SCHEMA?
...
Рейтинг: 0 / 0
Как узнать тип поля таблицы с помощью sql-команды?
    #36164123
whoever.whatever
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
svnvlad, в данном случае - название базы данных, в которой расположена таблица, в которой расположена колонка.
...
Рейтинг: 0 / 0
Как узнать тип поля таблицы с помощью sql-команды?
    #36164128
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nym,

В параметрах базы SCHEMA стоит пустая строка.

Задаю запрос
Код: plaintext
1.
SELECT DATA_TYPE FROM information_schema.COLUMNS WHERE TABLE_NAME=subscribe_letter AND COLUMN_NAME=start_time

Получаю ответ:
Код: plaintext
1.
 16 : 37 : 46   [SELECT -  0  row(s),  0 . 000  secs]  [Error Code:  1054 , SQL State: 42S22]  Unknown column 'subscribe_letter' in 'where clause'
...  1  statement(s) executed,  0  row(s) affected, exec/fetch time:  0 . 000 / 0 . 000  sec [ 0  successful,  0  warnings,  1  errors]

Да... информэйшн схема не содержит никаких таблиц.
...
Рейтинг: 0 / 0
Как узнать тип поля таблицы с помощью sql-команды?
    #36164140
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
whoever.whatever,
...
Рейтинг: 0 / 0
Как узнать тип поля таблицы с помощью sql-команды?
    #36164185
RXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvlad
Задаю запрос
Код: plaintext
1.
SELECT DATA_TYPE FROM information_schema.COLUMNS WHERE TABLE_NAME=subscribe_letter AND COLUMN_NAME=start_time

Получаю ответ:
Код: plaintext
1.
 16 : 37 : 46   [SELECT -  0  row(s),  0 . 000  secs]  [Error Code:  1054 , SQL State: 42S22]  Unknown column 'subscribe_letter' in 'where clause'
...  1  statement(s) executed,  0  row(s) affected, exec/fetch time:  0 . 000 / 0 . 000  sec [ 0  successful,  0  warnings,  1  errors]

Да... информэйшн схема не содержит никаких таблиц.

Error - это нормально? Или вы читаете только то, что хотите?

Код: plaintext
1.
SELECT DATA_TYPE FROM information_schema.COLUMNS WHERE TABLE_NAME="subscribe_letter" AND COLUMN_NAME="start_time"
...
Рейтинг: 0 / 0
Как узнать тип поля таблицы с помощью sql-команды?
    #36164227
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RXL,

Я не могу подконнектиться к информэйшн схема. Регистрирую БД, получаю доступ к таблицам самой базы, но information_schema пуста.
Регистрирую подключение к information_schema - получаю опять доступ к только БД, information_schema опять пуста. Это в DbVisualizer.
В EMS SQL Manager другая история. Там наоборот, либо одно, либо другое. Но никак не получается, чтобы доступ был вместе, и к базе, и к information_schema.

Такое происходит в режиме стационарного "учебного" так сказать подключения через менеджеры базы данных. Представляю что будет при рабочем режиме, когда надо будет все это делать из Delphi...
Сколько же DBConnection-ов там надо?...
...
Рейтинг: 0 / 0
Как узнать тип поля таблицы с помощью sql-команды?
    #36164263
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvlad, а зачем вы переподключаетесь?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
mysql --user=* --host=localhost --password

Enter password: *
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is  39 
Server version:  5 . 1 . 35 -community-debug MySQL Community Server - Debug (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> USE test;
Database changed
mysql> SELECT ticket FROM ffffff LIMIT  1 ;
+--------+
| ticket |
+--------+
|     272  |
+--------+
 1  row in set ( 0 . 00  sec)

mysql> SELECT DATA_TYPE FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='test
' AND TABLE_NAME='ffffff' AND COLUMN_NAME='ticket';
+-----------+
| DATA_TYPE |
+-----------+
| int       |
+-----------+
 1  row in set ( 0 . 03  sec)

mysql> exit
Bye
...
Рейтинг: 0 / 0
Как узнать тип поля таблицы с помощью sql-команды?
    #36164366
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nym,

угу... через консоль работает... через Delphi пока нет.
...
Рейтинг: 0 / 0
Как узнать тип поля таблицы с помощью sql-команды?
    #36164372
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvlad, приведите код Delphi от подключения до ошибки.
...
Рейтинг: 0 / 0
Как узнать тип поля таблицы с помощью sql-команды?
    #36164382
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nym,

О, класс! Все работает!
Спасибо! :)
...
Рейтинг: 0 / 0
Как узнать тип поля таблицы с помощью sql-команды?
    #36164388
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nym,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
      
SQL.Text := 'SELECT DATA_TYPE ' +
                  'FROM information_schema.COLUMNS ' +
                  'WHERE TABLE_SCHEMA=''se_test'' ' +
                  'AND TABLE_NAME=''subscribe_letter'' ' +
                  'AND COLUMN_NAME=''start_time''';
      try
        Open;
        ShowMessage(FieldByName('DATA_TYPE').AsString);

Все показывает :)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как узнать тип поля таблицы с помощью sql-команды?
    #40032831
commanderz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ваш код работал для T-SQL, может и наоборот T-SQL будет работать для MySQL ?
вот мой пример, только подставте имя вашей таблички вместо 'fffffffffff':
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    select 
      c.colid as C_Id, 
      c.name as C_Name, 
      t.name as C_Type,
      t.xtype as C_XType,
      c.length as C_Len,
      c.isnullable as C_Nullable ,
      *
    from      dbo.syscolumns as c 
    left join dbo.systypes as T on c.xtype = t.xtype 
    where c.prec is not Null 
      and c.id = (select id from dbo.sysobjects where name = 'fffffffffff' and type = 'U') 
    order by c.ColOrder
...
Рейтинг: 0 / 0
Как узнать тип поля таблицы с помощью sql-команды?
    #40032853
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
commanderz
может и наоборот T-SQL будет работать для MySQL ?
Нет.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как узнать тип поля таблицы с помощью sql-команды?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]