|
|
|
| запрос, нужно удалить комманду с id=1 и всех ее игроков, делаю так:
delete from team
left join payer
on team.id=player.team
where team.id=1
|
вылетает error:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'join payer on team.id=player.team where team.id=1' at line 2
|
в чем ошибка ?
Структура таблиц
сообщение об ошибке
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'join payer on team.id=player.team where team.id=1' at line 2
Структура таблиц
CREATE TABLE IF NOT EXISTS `player` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nickname` char(8) DEFAULT NULL,
`password` char(8) NOT NULL,
`rank` float(4,2) NOT NULL DEFAULT '50.00',
`region` enum('west','south') NOT NULL,
`team` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `team` (`team`)
) ENGINE=InnoDB
ALTER TABLE `player`
ADD CONSTRAINT `player_ibfk_1` FOREIGN KEY (`team`) REFERENCES `team` (`id`);
CREATE TABLE IF NOT EXISTS `team` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(16) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB | |
|
|
|
|
|
|
|
для: asker
(11.02.2012 в 17:43)
| | Когда вы используете многотабличное удаление, вы должны указать таблицы из которых удаляете после ключевого слова DELETE, ведь вы можете удалить только из одной таблице или из двух. Нужно явно указать из каких таблиц происходит удаление. | |
|
|
|
|
|
|
|
для: cheops
(11.02.2012 в 17:59)
| |
delete from team, player
left join player
on team.id=player.team
where team.id=1
|
хм, таже проблема... | |
|
|
|
|
|
|
|
для: asker
(11.02.2012 в 20:29)
| | Таблицы, из которых производится удаление размещаются между delete и from. | |
|
|
|