我遇到了一些我不理解的问题并尝试从 php 文件创建表,所以我创建了一个变量,并在其中添加了所有创建语句,以便我可以在其上运行 mysql_query,我不断收到错误存在语法问题,所以我回显了变量的内容并将其粘贴到 phpmyadmin 的 sql 部分中,但如果我从 php 尝试它,它会给我一个错误:
创建表时出错:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 9 行的“CREATE TABLE IF NOT EXISTS
Materials
(Id
int(11) NOT NULL AUTO_INCREMENT,”附近使用正确的语法
这是我运行查询的变量中的字符串:
// Create Tables Variable
$Tables = "";
// Create Students Table
$Tables = $Tables . "CREATE TABLE IF NOT EXISTS `Students` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`FirstName` varchar(50) DEFAULT NULL,
`LastName` varchar(50) DEFAULT NULL,
`Age` int(3) DEFAULT NULL,
`Major` varchar(50) DEFAULT NULL,
`Image` varchar(100) DEFAULT NULL,
PRIMARY KEY (`Id`)
);";
// Create Materials Table
$Tables = $Tables . "CREATE TABLE IF NOT EXISTS `Materials` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(50) DEFAULT NULL,
`LastName` varchar(50) DEFAULT NULL,
PRIMARY KEY (`Id`)
);";
// Create Materials Students intersectons table for many to many relation
$Tables = $Tables . "CREATE TABLE `Material_Student`(
`Student_Id` INT NOT NULL,
`Material_id` INT NOT NULL,
FOREIGN KEY (`Student_Id`) REFERENCES Students(`id`) ON UPDATE CASCADE,
FOREIGN KEY (`Material_id`) REFERENCES Materials(`id`) ON UPDATE CASCADE
);";
// Create Pages Table
$Tables = $Tables . "CREATE TABLE `Pages`(
`Id` INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(`Id`),
`Name` varchar(50),
`Conent` varchar(5000)
);";
// Create News Table
$Tables = $Tables . "CREATE TABLE `News`(
`Id` INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(`Id`),
`Title` varchar(50),
`Conent` varchar(5000),
`Image` varchar(100)
);";
// Create Notifications Table
$Tables = $Tables . "CREATE TABLE `Notifications`(
`Id` INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(`Id`),
`Title` varchar(50),
`Conent` varchar(5000),
`Student_Id` INT NOT NULL,
FOREIGN KEY (`Student_Id`) REFERENCES Students(`id`) ON UPDATE CASCADE
);";
那我在这里想念什么?