我到处寻找答案,却找不到任何人,所以只好自己发帖。这是大学的作业。我正在使用HeidiSQL。
这是我的密码
INSERT INTO
loan(patronCode,bookCode,loanDate,dueDate)
VALUES
(
SELECT
patron.patronCode
WHERE
patron.fname='Jacob' AND patron.lname='Simmons',
SELECT
book.bookCode
WHERE
book.bookTitle='The Agony And The Empathy',
'2014-09-10',
'2014-10-01'
),
(
SELECT
patron.patronCode
WHERE
patron.fname='Jacob' AND patron.lname='Simmons',
SELECT
book.bookCode
WHERE
book.bookTitle='Kevin Rudd: The Biography',
'2014-09-10',
'2014-10-01'
)
FROM
loan
INNER JOIN patron
ON loan.patronCode=patron.patronCode
INNER JOIN book
ON loan.bookCode=book.bookCode;
这是我的错误消息:
SQL Error(1064):您的SQL synstax中有一个错误;请查看对应于MySQL服务器版本的手册,在“SELECT-patron.patronCode”附近找到正确的语法
哪里
5号线的patron.fname='Jacob'和patron.lname='Si'
最佳答案
insert语句需要采用以下形式:
INSERT INTO TABLENAME(FIELDNAME1, FIELDNAME2...)
VALUES('HARDCODED_VALUE1', 'HARDCODED_VALUE2'...)
您已经将其与insert和select语句的逻辑混合在一起。看起来是这样的:
INSERT INTO TABLENAME(FIELDNAME1, FIELDNAME2...)
SELECT Column1, Column2...
FROM TABLENAME
这里有两个不同的插页。也许他们可以结合更多的信息。另外,您没有指明
patron
和book
是如何连接的,可能它们没有连接,所以我已将连接退出。这是第一个,第二个可以在它之后。
INSERT INTO loan(patronCode,bookCode,loanDate,dueDate)
SELECT patron.patronCode,book.bookCode,'2014-09-10','2014-10-01'
FROM patron, book
WHERE
patron.fname='Jacob' AND patron.lname='Simmons'
and book.bookTitle='The Agony And The Empathy'
关于mysql - SQL INSERT INTO语句。。错误,我对SQL很陌生,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25819880/