我正在尝试此查询,但没有成功。
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 '= (SELECT id_university FROM university WHERE university = "xxx") , `singl' at line 2
INSERT INTO `database_charts`.`university_has_single_user` (
`university_id_university` = (SELECT id_university FROM university WHERE university = "xxx") ,
`single_user_users_id_user` = (SELECT users_id_user FROM single_user WHERE users_id_user = "1" ),
`course_id_course`= (SELECT id_course FROM course WHERE course = "yyy"),
`year`= "2000" )
如何解决这个问题?
最佳答案
除非 MySQL 支持非常奇怪的语法,否则您不会这样编写 INSERT 语句。它采用以下形式:
INSERT INTO <TableName> (<Column1,Column2,..,ColumnN>) VALUES (<Value1,Value2,..,ValueN>)
所以你会有
INSERT INTO database_charts.university_has_single_user (
university_id_university,
single_user_users_id_user,
course_id_course,year)
VALUES (
(SELECT id_university FROM university WHERE university = 'xxx'),
(SELECT users_id_user FROM single_user WHERE users_id_user = '1' ),
(SELECT id_course FROM course WHERE course = 'yyy'),
'2000'
)
警告:我不确定 MySQL 是否会真正处理每个列值的嵌套 SELECT,但上面是 INSERT 语句通常的编写方式。
关于mysql - 错误 1064 - MySQL 中 INSERT 语句的 SQL 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6334309/