虽然我已经在谷歌上搜索了很长一段时间的解决方案,但我仍然找不到此错误的嵌套位置。
我可以创建一个不会产生任何问题的精美表格
CREATE TABLE IF NOT EXISTS `jcom_11645246_silowniainz_karta`.`Cennik` (
`Klub_idKlubu` INT NOT NULL ,
`Kategoria` VARCHAR(20) NOT NULL ,
`Nazwa` VARCHAR(50) NOT NULL ,
`Koszt` DECIMAL(6,2) NOT NULL ,
`Id` INT NOT NULL ,
PRIMARY KEY (`Klub_idKlubu`, `Id`) ,
INDEX `fk_Cennik_Klub` (`Klub_idKlubu` ASC) ,
CONSTRAINT `fk_Cennik_Klub`
FOREIGN KEY (`Klub_idKlubu` )
REFERENCES `jcom_11645246_silowniainz_karta`.`Klub` (`idKlubu` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = MyISAM;
有问题的创建表如下所示
CREATE TABLE IF NOT EXISTS `jcom_11645246_silowniainz_karta`.`Ogloszenie` (
`idOgloszenia` NOT NULL ,
`Klub_idKlubu` INT NOT NULL ,
`TytulOgloszenia` VARCHAR(40) NOT NULL ,
`TrescOgloszenia` VARCHAR(400) NOT NULL ,
PRIMARY KEY (`Klub_idKlubu`, `idOgloszenia`) ,
INDEX `fk_Ogloszenia_Klub` (`Klub_idKlubu` ASC) ,
CONSTRAINT `fk_Ogloszenia_Klub`
FOREIGN KEY (`Klub_idKlubu` )
REFERENCES `jcom_11645246_silowniainz_karta`.`Klub` (`idKlubu` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = MyISAM;
错误看起来像这样
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOT NULL ,
`Klub_idKlubu` INT NOT NULL ,
`TytulOgloszenia` VARCHAR(40) N' at line 2
我看不出表1和表2结构之间有什么不同,可能导致此错误。我找了"'",太多了","或缺少";"。我可以得到一些帮助吗?
您错过了此处的类型:
`idOgloszenia` NOT NULL ,
只需插入像INT
这样的类型,它就可以工作。
`idOgloszenia` INT NOT NULL ,
该错误告诉您查找位置,如下所示:
`idOgloszenia` NOT NULL
您忘记写字段的类型,因此此时NOT NULL
出乎意料。
您的查询缺少第 2 行的INT
:
`idOgloszenia` INT NOT NULL