MySql错误没有1064

时间:2013-09-30 13:13:58

标签: mysql

我的表格格式为

CREATE TABLE IF NOT EXISTS `clinicReg` (
  `clinicRegId` varchar(10) NOT NULL,
  `clinicName` varchar(20) NOT NULL,
  `clinicAddress` varchar(500) NOT NULL,
  `clinicContactNo` int(20) NOT NULL,
  `clinicContactNO1` int(20) NOT NULL,
  `clinicMobileNo` int(20) NOT NULL,
  `clinicMobileNo1` int(20) NOT NULL,
  `clinicCatagories` varchar(50) NOT NULL,
  `clinicServices` varchar(500) NOT NULL,
  `clinicLogo` longblob NOT NULL,
  `ownerName` varchar(20) NOT NULL,
  `clinicEmailId` varchar(20) NOT NULL,
  `clinicEmailId1` varchar(20) NOT NULL,
  `loginTimeStamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`clinicRegId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

我的插入查询是

insert into 'harshal.clinicreg' (clinicRegId,clinicName,
  clinicAddress,clinicContactNo,clinicContactNO1,
  clinicMobileNo,clinicMobileNo1,clinicCatagories,
  clinicServices,clinicLogo,ownerName,clinicEmailId,
  clinicEmailId1,loginTimeStamp)
Values
('ORCCli1','Smile Clinic','Mulund',
 3456,544,234,567,'Gen','ABC',
 load_file(C:\Users\harshal420\Pictures\Camera Roll\Capture.jpg),
 'Smile','abc@xyz.com','def@pqr.com', CURDATE());

它给了我错误1064可以任何人帮助我???

4 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为您的SQL语法中存在错误。更具体地说,这是因为在引用数据库/表名时使用了不正确的引号字符;在指定数据库名称,表名或字段名时,您应该使用反引号(`)或没有引号。

您还需要使用单引号或双引号引用数据的路径。请参阅下面的示例。

insert into `harshal`.`clinicreg` (clinicRegId,clinicName,clinicAddress,clinicContactNo,clinicContactNO1,clinicMobileNo,clinicMobileNo1,clinicCatagories,clinicServices,clinicLogo,ownerName,clinicEmailId,clinicEmailId1,loginTimeStamp) Values ('ORCCli1','Smile Clinic','Mulund',3456,544,234,567,'Gen','ABC',load_file('C:\Users\harshal420\Pictures\Camera Roll\Capture.jpg'),'Smile','abc@xyz.com','def@pqr.com', CURDATE());

答案 1 :(得分:0)

您的INSERT声明有两个我可以预先看到的问题:

insert into 'harshal.clinicreg'

您必须使用反引号包装db / table名称,而不是单引号:

insert into `harshal`.`clinicreg`

在此之后,load_file()函数接受一个字符串输入,但是你传递了一个文字。尝试将完整查询更新为:

INSERT INTO `harshal`.`clinicreg`
    (clinicRegId,clinicName, clinicAddress,clinicContactNo,clinicContactNO1,clinicMobileNo,clinicMobileNo1,clinicCatagories,clinicServices,clinicLogo,ownerName,clinicEmailId, clinicEmailId1,loginTimeStamp)
VALUES
    ('ORCCli1','Smile Clinic','Mulund',  3456,544,234,567,'Gen','ABC',
     load_file('C:\\Users\\harshal420\\Pictures\\Camera Roll\\Capture.jpg'),
     'Smile','abc@xyz.com','def@pqr.com', CURDATE()
);

答案 2 :(得分:0)

您的插入查询中有2个错误。 1 - 你的表名错了它应该是

插入clinicReg

你也可以把dbname.clinicReg

2-在你的查询load_file(C:\ Users \ harshal420 \ Pictures \ Camera Roll \ Capture.jpg) 这给出了错误

答案 3 :(得分:-1)

您可能想要

insert into `harshal`.`clinicreg` (...)

而不是

insert into 'harshal.clinicreg' (...)

在你的例子中,MySQL获取一个字符串而不是表标识符,这是它在这里排除的。

你也可以在这里错过反对。

您的查询中还存在第二个语法错误。您应该将传递给load_file函数的路径字符串作为参数引用。应该是:

load_file('C:\Users\harshal420\Pictures\Camera Roll\Capture.jpg') ,