MySQL查询截断错误

MySQL查询截断错误,mysql,mysql-error-1064,Mysql,Mysql Error 1064,我有这样的疑问,不知道为什么它给我的错误。我想创建一个表,如果它还没有创建,如果它已经创建,然后截断它,然后在该表中插入以下内容 CREATE TABLE IF NOT EXISTS `(temp)_v5_userInfo_Netsprint_Data_import` ( onlineId VARCHAR(255), paramId INT, paramValue INT ) TRUNCATE TABLE `(temp)_v5_userInfo_Netsprint_Dat

我有这样的疑问,不知道为什么它给我的错误。我想创建一个表,如果它还没有创建,如果它已经创建,然后截断它,然后在该表中插入以下内容

CREATE TABLE IF NOT EXISTS
`(temp)_v5_userInfo_Netsprint_Data_import`
(
    onlineId VARCHAR(255),
    paramId INT,
    paramValue INT
)
TRUNCATE TABLE
`(temp)_v5_userInfo_Netsprint_Data_import`
INSERT INTO
`(temp)_v5_userInfo_Netsprint_Data_import`
SELECT
`ui`.`onlineId`, `uin`.`paramId`, `uin`.`paramValue`
FROM
`(temp)v5_userInfo_COLD` `ui`
JOIN
`v5_(readOnly)userInfo_number` `uin`
ON
`uin`.`userId` = `ui`.`id`
;

前两个语句缺少分隔符;
添加它们,它就会起作用。

这其中有两个因素。首先,正如@krishKM所说,您缺少分号。声明应为:

CREATE TABLE IF NOT EXISTS `(temp)_v5_userInfo_Netsprint_Data_import`
(
    onlineId VARCHAR(255),
    paramId INT,
    paramValue INT
);
TRUNCATE TABLE  `(temp)_v5_userInfo_Netsprint_Data_import`;
INSERT INTO `(temp)_v5_userInfo_Netsprint_Data_import`
SELECT `ui`.`onlineId`, 
       `uin`.`paramId`, 
       `uin`.`paramValue`
FROM  `(temp)v5_userInfo_COLD` `ui`
JOIN `v5_(readOnly)userInfo_number` `uin` ON `uin`.`userId` = `ui`.`id`;
其次,验证将执行此语句的用户的权限。截断

我的猜测是,您的用户拥有数据+创建权限,但这还不够

如果添加删除权限是一个障碍,那么一个可能的解决方法是执行

 DELETE FROM `(temp)_v5_userInfo_Netsprint_Data_import`;

当然,速度较慢。

问题在于缺少分号。谢谢大家的帮助,我已经设法解决了这个问题。