Как добавить конкретное поле ко всей таблице, если оно не существует?

0

Я хочу добавить имя поля под названием UserId datatpe varchar (25) во всех таблицах. Если таблица уже содержит это поле, я не хочу добавлять. Возможно ли это с помощью SQL-запроса. Пожалуйста, дайте мне некоторые идеи.

  • 0
    это должен быть varchar (25) вы не можете использовать int unsigned, который составляет всего 4 байта
Теги:

2 ответа

2

Обратитесь к 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
0

Вы можете использовать SHOW TABLES для получения списка всех таблиц в базе данных и SHOW CREATE TABLE или DESCRIBE, чтобы получить спецификацию каждой таблицы. Затем это можно использовать в коде приложения для создания поля. Точно, как это сделать, зависит от вашего языка программирования.

Я не думаю, что это возможно, используя только SQL, но я не являюсь SQL-гуру, поэтому не верьте мне на слово: -)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню