Нужно выяснить, есть ли в таблице определенные столбцы перед запуском alter table - PullRequest
1 голос
/ 29 июня 2009

Я пишу плагин для WordPress. Когда плагин инициализируется, мне нужно выяснить, содержит ли таблица пользователей столбцы, которые я пытаюсь вставить, чтобы убедиться, что я ничего не перезаписываю. Может ли кто-нибудь предоставить мне синтаксис, который делает это; Я думаю, это выглядит примерно так:

SELECT DISTINCT TABLE_NAME 
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE COLUMN_NAME IN ('columnA','ColumnB')
        AND TABLE_SCHEMA='YourDatabase';

Спасибо

Ответы [ 2 ]

2 голосов
/ 29 июня 2009

Если вы просто пытаетесь выяснить, существует ли столбец, я бы сделал

SELECT 1
FROM information_schema.COLUMNS
WHERE COLUMN_NAME = 'column_name'
AND TABLE_NAME = 'table_name'
AND TABLE_SCHEMA = 'database_name'
LIMIT 1
0 голосов
/ 29 июня 2009

псевдокод:

DBQuery("SHOW COLUMNS FROM ".$table);
while (DBGetRow())
   {
   $columns[]=$access["Field"];
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...