【发布时间】:2019-06-05 15:29:12
【问题描述】:
我的 INSERT INTO 命令是:
INSERT INTO environment_fid (FID_environment) VALUES SELECT ID FROM environment WHERE name='planes';
但我得到了:
ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'SELECT ID FROM environment WHERE name='planes'' 附近使用正确的语法
我有三张桌子,但我只尝试了两张:
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';
【问题讨论】:
-
删除
INSERT INTO中的VALUES -
我还是 MySQL 新手。谢谢,解决了。
-
但是,我是如何得到不同的表的?
标签: mysql select myisam insert-into