2012-06-15 3 views
0

У меня есть это до сих пор, но имя столбца неоднозначно, поэтому я хочу изменить столбец имен в таблице modle на что-то другое (также есть столбец имен студенческий стол). Как я могу это сделать?Как изменить имя столбца в MySQL5

SELECT name 
FROM student 
JOIN modle ON modle.id = event.modle 
JOIN event ON event.id = attends.event 
JOIN attends ON attends.student = student.id 
WHERE name LIKE '%Database%' 

ответ

1

Имена столбцов позволяют создавать собственные имена столбцов для определенного набора результатов.
Пример:

SELECT modle.`name` AS model_name, student.`name` AS student_name 
FROM student 
JOIN modle ON modle.id = event.modle 
JOIN event ON event.id = attends.event 
JOIN attends ON attends.student = student.id 
WHERE name LIKE '%Database%'; 

Если вы хотите, чтобы навсегда изменить имя столбца используйте ALTER TABLE команду:
http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

Пример:

ALTER TABLE student 
CHANGE COLUMN `name` student_name VARCHAR(50); 

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

+0

Выполняется ли это утверждение после инструкции FROM, а в вашем примере - что именно оно меняет имя? – user1251302

+0

Оператор 'ALTER TABLE' является собственным выражением, не зависящим от оператора SELECT. В этом примере он изменяет имя столбца с 'name' на' student_name'. – bernie

+0

Еще одна вещь, почему вы добавляете VARCHAR (50); потому что он, кажется, не работает – user1251302

1

Вы можете прикрепить столбец к таблице, чтобы избежать двусмысленности, а также предоставить псевдонимы.

Например:

SELECT modle.name, student.name AS student_name FROM … 

Однако я выступаю за изменение имени столбца в данном случае, поскольку name является зарезервированным словом в некоторых вкусов SQL.

Вы можете сделать это с помощью команды ALTER TABLE или вашего менеджера баз данных.

ALTER TABLE modle CHANGE COLUMN name modle_name [column_definition] 
+0

+1. Ударьте меня на несколько минут: D У меня уже был написан ответ, поэтому я думал, что отправлю. Не собирайтесь наступать на ноги. Приветствия. – bernie

+0

Не беспокойтесь. Вы предоставили гораздо более длинный пример. Как и HR. Мне нужно будет принять этот формат :) –

Смежные вопросы