MySQL插入 - 返回刻度或varchar列的单引号?

时间:2015-05-22 06:13:16

标签: mysql sql-insert varchar

在尝试创建MySQL数据库并插入一些新数据时,我收到错误1054 - 字段列表中的未知列。我正在使用MySQL Workbench从.mwb文件中找到工程师。我的创建表看起来像这样

<Component Id="ProductComponent1">
  <File Id="Default.aspxName="Default.aspx"Source="..\WebApplication2\Default.aspx"  />
</Component>

而insert看起来像这样

CREATE TABLE IF NOT EXISTS `JarvisDB`.`jarvisFixtures` (
  `Id` INT NOT NULL,
  `Gender` VARCHAR(10) NOT NULL,
  `Section` VARCHAR(10) NOT NULL,
  `Team1` VARCHAR(10) NOT NULL,
  `Team2` VARCHAR(10) NOT NULL,
  `FixtureDate` VARCHAR(45) NOT NULL,
  `FixtureTime` VARCHAR(10) NOT NULL,
  `Venue` VARCHAR(20) NOT NULL,
  `Court` VARCHAR(5) NOT NULL,
  PRIMARY KEY (`Id`),
  UNIQUE INDEX `Id_UNIQUE` (`Id` ASC));

错误是抱怨列'FixtureDate',这对我没有任何意义?通过网络上的其他解决方案阅读,如果列名称被反引号或单个qoutes包围,它似乎可能与某些事情有关。但由于我的所有列都是varchar类型(不包括PK),我不明白为什么它只应该在它到达这个特定列时开始抱怨。

有人能解释一下这个问题吗?

更新

完整代码现在看起来像这样 -

INSERT INTO `JarvisDB`.`jarvisFixtures` (`Id`, `Gender`, `Section`, `Team1`, `Team2`, `FixtureDate`, `FixtureTime`, `Venue`, `Court`) VALUES (1, 'Men', 'A', 'NW', 'Gauteng', '15 July 2015', '09:00', 'Potch CC', '3');

仍然得到相同的错误

1 个答案:

答案 0 :(得分:0)

在insert命令中删除了引号,这将是工作文件。在MySQl 5.6上正常工作

CREATE TABLE jarvisFixtures(   Id INT,   Gender VARCHAR(10),   Section VARCHAR(10),   Team1 VARCHAR(10),   Team2 VARCHAR(10),   FixtureDate VARCHAR(45),   FixtureTime VARCHAR(10),   Venue VARCHAR(20),   Court VARCHAR(5),   PRIMARY KEY(Id),   UNIQUE INDEX Id_UNIQUEId ASC));

INSERT INTO jarvisFixtures(Id,Gen​​der,Section,Team1,Team2,FixtureDate,FixtureTime,Venue,Court)VALUES(1,&#39; Men&#39;,&#39; A&#39;,&#39 ; NW&#39;,&#39; Gauteng&#39;,&#39; 2015年7月15日&#39;,&#39; 09&#39;,&#39; Potch CC&#39;,&#39; ; 3&#39)