Вы можете снова передать его в cut
:
cut -d'|' -f5 <input.txt | cut -c1-7
Или использовать awk
:
awk -F'\|' '{print substr($5, 1, 7)}' input.txt
Do:
select 1 from your_table
and then catch the error. If you don't get any error, but resultset with one column containing "1", then the table exists.
В рамках проекта создайте представление схемы.
Для Oracle это будет что-то вроде
SELECT TABLE_NAME FROM ALL_TABLES
Для Mysql:
SELECT TABLE_NAME FROM information_schema.tables WHERE table_schema = 'mydbname'
ETC ..
А затем запустить запрос в коде для представления.
Вы можете выполнить запрос «выберите количество (*) из таблицы» из php. Если он возвращает ошибку или исключение, таблица не существует. Это могло бы быть последним возможным средством, и я уверен, что это сработает.
Или вы можете напрямую проверить таблицу схемы (возможно, администратор может установить дополнительные разрешения)
Я делаю несколько вещей в своих веб-приложениях с помощью CodeIgniter, чтобы проверить, существует ли база данных (и что она полезна). Любое из них может работать:
@$this->load->database();
$v = @$this->db->version()
$tables = @$this->db->list_tables();
Добавление @
подавит ошибки, если они включены в настройках PHP, а проверка результатов version ()
и list_tables ()
может использоваться не только для определения наличия вашей БД. (но это тоже нормально).
Это, кажется, работает, по крайней мере, с SQLite3 без исключений и т.д.:
$select =
"SELECT CASE WHEN EXISTS (SELECT * FROM SQLITE_MASTER WHERE TYPE = 'table' AND NAME = :tableName) THEN 1 ELSE 0 END AS TABLE_EXISTS;";