Я хочу добавить имя поля под названием UserId datatpe varchar (25) во всех таблицах. Если таблица уже содержит это поле, я не хочу добавлять. Возможно ли это с помощью SQL-запроса. Пожалуйста, дайте мне некоторые идеи.
Обратитесь к http://www.lost-in-code.com/programming/mysql/mysql-check-if-field-exists/
Это должно быть выполнимо, используя что-то вроде:
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=’table’ AND column_name=’UserId’)
BEGIN
Alter Table....
END
Вы можете использовать SHOW TABLES для получения списка всех таблиц в базе данных и SHOW CREATE TABLE или DESCRIBE, чтобы получить спецификацию каждой таблицы. Затем это можно использовать в коде приложения для создания поля. Точно, как это сделать, зависит от вашего языка программирования.
Я не думаю, что это возможно, используя только SQL, но я не являюсь SQL-гуру, поэтому не верьте мне на слово: -)