Почему sql дает результат, даже если столбец не существует в таблице? - PullRequest
0 голосов
/ 21 мая 2019

Я использую MySql в SQLite3, где я просто хочу проверить, существует ли столбец в таблице или нет?Для этого я использовал команду «Выбрать и попробовать Catch», но всякий раз, когда я даю имя столбца в числах, таких как 1, «2», «3», как это, он возвращает столбцы с такими же номерами, как 1,2, 3, не показывая ошибок, почему?

select 20 from Student;

20
20
20
20
20
20

показывает 20, пока в моей фактической таблице учеников не будет числа строк.

Ответы [ 2 ]

1 голос
/ 21 мая 2019

Я узнал, что нехорошо устанавливать имена столбцов с числовым значением, но если имена ваших столбцов действительно в числовых значениях, вы должны добавить обратные кавычки \ обратные кавычки к вашему запросу. Например:

SELECT `20` FROM Student;

Таким образом вы получите следующую ошибку, если столбец не существует:

Error Code: 1054
Unknown column '20' in 'field list'
0 голосов
/ 21 мая 2019
SHOW COLUMNS FROM `table` LIKE 'fieldname';

Для MySQL это вернет информацию столбца, если столбец существует, где table - это имя вашей таблицы, а 'fieldname' - это имя столбца. Ничего не вернется, если столбец не существует

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...