-3

我的表格格式是

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

4 回答 4

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()
);
于 2013-09-30T13:18:36.857 回答
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());
于 2013-09-30T13:16:58.537 回答
0

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

插入到 ClinicReg

你也可以把 dbname.clinicReg

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

于 2013-09-30T13:22:48.987 回答
-1

你可能想做

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

代替

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

在您的示例中,MySQL 获取一个字符串而不是表标识符,这是它在此处除外的内容。

你也可以在这里完全错过反引号。

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

load_file('C:\Users\harshal420\Pictures\Camera Roll\Capture.jpg') ,
于 2013-09-30T13:16:47.707 回答