2015-02-09 3 views
0

Сэр. это мой кодРезультаты SQL в Batch FIle

@echo off 
SET path=C:\Users\neca\Desktop cd C:\wamp\bin\mysql\mysql5.5.24\bin 

FOR /F "tokens=*" %%D IN ('mysql -uroot -e "SHOW TABLES from sample"') do echo %%D 

pause 

НО, но у меня только 2 таблицы (образец и тест). Почему это, что выход этого кода

Tables_in_sample 
sample 
test 

где Tables_in_sample является таблица, в которой я не сделал.

ответ

3

Tables_in_sample только заголовок из тузд клиента

Пример

mysql> show tables from mysql; 
+---------------------------+ 
| Tables_in_mysql   | 
+---------------------------+ 
| columns_priv    | 
| db      | 
| event      | 
| func      | 
| general_log    | 
| help_category    | 
| help_keyword    | 
| help_relation    | 
| help_topic    | 
| innodb_index_stats  | 
| innodb_table_stats  | 
| ndb_binlog_index   | 
| plugin     | 
| proc      | 
| procs_priv    | 
| proxies_priv    | 
| servers     | 
| slave_master_info   | 
| slave_relay_log_info  | 
| slave_worker_info   | 
| slow_log     | 
| tables_priv    | 
| time_zone     | 
| time_zone_leap_second  | 
| time_zone_name   | 
| time_zone_transition  | 
| time_zone_transition_type | 
| user      | 
+---------------------------+ 
28 rows in set (0.00 sec) 

mysql> 

См заголовок выходе Tables_in_mysql

SUGGESTION

Просто отключить заголовки с помощью -ANe вместо только -e

@echo off 
SET path=C:\Users\neca\Desktop cd C:\wamp\bin\mysql\mysql5.5.24\bin 

FOR /F "tokens=*" %%D IN ('mysql -uroot -ANe "SHOW TABLES from sample"') do echo %%D 

pause 

Дайте ему попробовать!

+0

спасибо, что я уже получил это :) с использованием ** -N -B -e ** вместо ** -e ** только – xXxrk04

+0

спасибо, сэр. :) ........................ – xXxrk04

0

@echo от SET путь = C: \ Users \ NECA \ Desktop кд C: \ WAMP \ Bin \ MySQL \ mysql5.5.24 \ бин

FOR/F "токенов = *" %% D IN ('mysql -uroot -N -B -e "SHOW TABLES из образца"') do echo %% D