使用SQL插入选择MySQL时如何解决语法错误

时间:2018-09-15 18:30:38

标签: mysql

我在mysql数据库上使用INSERT INTO SELECT函数时遇到问题,错误是这样的

the right syntax to use near 'INSERT INTO tmpProgkeg SELECT A.Tahun, 1, A.Kd_Urusan, A.Kd_Bidang, A.Kd_Un' at line 4

这是Mysql查询

  

https://www.db-fiddle.com/f/tfVhWXC25EAQKHdpHv6VLU/0

我需要帮助,谢谢...

1 个答案:

答案 0 :(得分:1)

请注意,在INSERT语句之前,您具有CREATE TEMPORARY TABLE语句:

CREATE TEMPORARY TABLE tmpProgkeg (
...
) 
INSERT INTO tmpProgkeg SELECT ...

但是,您不能使用所需的分号(;)字符来终止CREATE TEMPORARY TABLE语句。

每个SQL语句必须终止。例如:

CREATE TEMPORARY TABLE tmpProgkeg (
...
);
INSERT INTO tmpProgkeg SELECT ...

终止语句的要求类似于某些其他编程语言,例如C ++,Java或PHP。

提示:当MySQL报告语法错误时,它将显示SQL语句的某些部分。它告诉您“我没想到在您使用的位置出现以下代码”。之所以感到困惑,是因为它期待其他代码,即代码的结尾,并且向您展示了所看到的内容,跟随出现混乱的地方。

所以当你看到

  

在'INSERT INTO ...'附近使用正确的语法...

您知道您应该在此之前查看代码 ,看看您忘记了什么。