Моя команда для INSERT INTO была:
INSERT INTO environment_fid (FID_environment) VALUES SELECT ID FROM environment WHERE name='planes';
Но я получил:
ОШИБКА 1064 (42000): у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с «SELECT ID FROM environment WHERE name = 'planes" »в строке 1
У меня есть три таблицы, но меня пробовали только с двумя:
CREATE TABLE `environment_fid` (
`ID` mediumint(9) unsigned AUTO_INCREMENT,
`FID_environment` mediumint(9) unsigned,
`FID_monster` mediumint(9) unsigned ,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM;
DROP TABLE IF EXISTS `environment`;
CREATE TABLE `environment` (
`ID` mediumint(9) unsigned AUTO_INCREMENT,
`name` text NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM;
Однако, когда я положил по частям:
INSERT INTO environment_fid (FID_environment) VALUES (78);
Запрос в порядке, затрагивается 1 строка (0,00 с)
и
SELECT ID FROM environment WHERE name='planes';
*+----+
| ID |
+----+
| 66 |
+----+
1 row in set (0.00 sec)*
Понятия не имею об этой проблеме, есть предложения?
Спасибо
INSERT INTO environment_fid (FID_environment) SELECT ID FROM environment WHERE name='planes';
Решите мою проблему, но как я могу получить другие таблицы? Например:
INSERT INTO environment_fid (FID_environment, FID_monster)
SELECT ID FROM environment WHERE name='planes',
SELECT ID FROM monster WHERE family='Blue';