Mysql PhpMyAdmin-SQL创建表错误#1064
我试图创建一些表,它们之间有一对多的关系。我得到这个错误,我读了其他线程,并怀疑这与FK有关。任何帮助都会很好D谢谢 我在XAMPP服务器上使用PhpMyAdmin。我创建了数据库,单击了SQL选项卡,并将代码放入其中。我得到了下面的错误 错误:Mysql PhpMyAdmin-SQL创建表错误#1064,mysql,phpmyadmin,Mysql,Phpmyadmin,我试图创建一些表,它们之间有一对多的关系。我得到这个错误,我读了其他线程,并怀疑这与FK有关。任何帮助都会很好D谢谢 我在XAMPP服务器上使用PhpMyAdmin。我创建了数据库,单击了SQL选项卡,并将代码放入其中。我得到了下面的错误 错误: Error Static analysis: 2 errors were found during analysis. Unexpected beginning of statement. (near "userID" at position 30
Error
Static analysis:
2 errors were found during analysis.
Unexpected beginning of statement. (near "userID" at position 307)
Unrecognized statement type. (near "INT" at position 314)
SQL query:
CREATE TABLE reportTable ( reportID INT AUTO_INCREMENT, submitDate DATETIME, submitBy VARCHAR(255), reportInformation VARCHAR(255), reviewedBy VARCHAR(255), PRIMARY KEY(reportID), FOREIGN KEY(userID) REFERENCES userTable(userID) ) CREATE TABLE userTable ( userID INT AUTO_INCREMENT, username VARCHAR(255), PRIMARY KEY(userID) )
MySQL said: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'CREATE TABLE userTable (
userID INT AUTO_INCREMENT,
username VARCHAR(2' at line 11
CREATE TABLE reportTable (
reportID INT AUTO_INCREMENT,
userID INT,
submitDate DATE,
submitBy VARCHAR(255),
reportInformation VARCHAR(255),
reviewedBy VARCHAR(255),
PRIMARY KEY(reportID),
FOREIGN KEY(userID) REFERENCES userTable(userID)
);
CREATE TABLE userTable (
userID INT AUTO_INCREMENT,
username VARCHAR(255),
PRIMARY KEY(userID)
);
代码:
Error
Static analysis:
2 errors were found during analysis.
Unexpected beginning of statement. (near "userID" at position 307)
Unrecognized statement type. (near "INT" at position 314)
SQL query:
CREATE TABLE reportTable ( reportID INT AUTO_INCREMENT, submitDate DATETIME, submitBy VARCHAR(255), reportInformation VARCHAR(255), reviewedBy VARCHAR(255), PRIMARY KEY(reportID), FOREIGN KEY(userID) REFERENCES userTable(userID) ) CREATE TABLE userTable ( userID INT AUTO_INCREMENT, username VARCHAR(255), PRIMARY KEY(userID) )
MySQL said: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'CREATE TABLE userTable (
userID INT AUTO_INCREMENT,
username VARCHAR(2' at line 11
CREATE TABLE reportTable (
reportID INT AUTO_INCREMENT,
userID INT,
submitDate DATE,
submitBy VARCHAR(255),
reportInformation VARCHAR(255),
reviewedBy VARCHAR(255),
PRIMARY KEY(reportID),
FOREIGN KEY(userID) REFERENCES userTable(userID)
);
CREATE TABLE userTable (
userID INT AUTO_INCREMENT,
username VARCHAR(255),
PRIMARY KEY(userID)
);
正如我在评论中提到的,分号通常用于结束语句。否则,MySQL不知道您打算何时停止。在PHPMyAdmin中执行一个查询时,它将正确解释它,但在执行多个语句时则不会。这将修复您的run-on语句
CREATE TABLE reportTable (
reportID INT AUTO_INCREMENT,
submitDate DATE,
submitBy VARCHAR(255),
reportInformation VARCHAR(255),
reviewedBy VARCHAR(255),
PRIMARY KEY(reportID),
FOREIGN KEY(userID) REFERENCES userTable(userID)
);
CREATE TABLE userTable (
userID INT AUTO_INCREMENT,
username VARCHAR(255),
PRIMARY KEY(userID)
);
分号结束你的陈述。否则,这是一个连续的句子。@aynber我应该在哪里加分号?啊,我明白了。非常感谢。当它允许我时,我将标记为asnwered。但是出现了另一个错误#1005-无法创建表
mcreport
reporttable
(错误号:150“外键约束格式不正确”)(详细信息…)您的报告表中实际上没有userID字段。然后我得到以下错误:#1072-表@aynberRight中不存在键列“userID”。将userID INT
添加到reportTable列中。