任何人都可以帮助我,我做错了什么。php代码中没有语法错误,但输出是 - 连接成功未创建表客户。错误: 1064未创建表统计信息。错误 : 1005。我正在使用 XAMPP,PHP 7
<?php
$conn = mysqli_connect("localhost","root","","test");
if(mysqli_connect_errno()){
echo "Connect failed%n".mysqli_connect_errno();
exit();
}
else {
echo "connection successful";
}
$sql1 = "CREATE TABLE CUSTOMERS (
P_Id int(10) NOT NULL AUTO_INCREMENT,
Firstname(100) varchar NOT NULL,
Lastname(100) varchar NOT NULL,
Address varchar(500) NOT NULL,
City varchar(100) NOT NULL,
PRIMARY KEY(P_Id)
)";
if(mysqli_query($conn,$sql1)==1){
echo "Table customers created successfully";
}
else
{
echo "<br/>"."Table customers NOT created. Error: ".mysqli_errno($conn);
}
$sql2 = 'CREATE TABLE STATS (
O_Id int(10) NOT NULL AUTO_INCREMENT,
Offers varchar(1000) NOT NULL,
Resorts varchar(1000) NOT NULL,
ArrivalDate date NOT NULL,
P_Id int(10) NOT NULL,
PRIMARY KEY(O_Id),
FOREIGN KEY(P_Id) REFERENCES CUSTOMERS(P_Id)
)';
if(mysqli_query($conn,$sql2)==1){
echo "Table stats created successfully";
}
else
{
echo "<br/>"."Table stats NOT created. Error : ".mysqli_errno($conn);
}
?>
您需要
在 VARCHAR
关键字后指定VARCHAR
字符限制。因此,例如,在对表 CUSTOMERS
的查询中,Firstname
子句将如下所示:
Firstname VARCHAR(100) NOT NULL
错误在于你如何声明你的varchar。
Firstname(100) varchar NOT NULL,
必须是 :
Firstname varchar(100) NOT NULL,
因此,更改名字和姓氏语法,一切都会正常工作。希望这有帮助。
我认为你的问题是列声明:
您应该使用:<name> <type>(length) NOT NULL