创建表时出现SQL错误

时间:2013-08-11 23:56:23

标签: mysql sql

你好我用PHP创建一个SQL表但我得到一个错误,我不知道为什么。这是代码

<?php
$con=mysqli_connect("Something","something","something","something");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// Create table
$sql="CREATE TABLE posts
(
P_Id int NOT NULL AUTO_INCREMENT,
Title VARCHAR(200),
Post VARCHAR(MAX),
PRIMARY KEY (P_Id))";

// Execute query
if (mysqli_query($con,$sql))
{
echo "Table posts created successfully";
}
else
{
echo "Error creating table: " . mysqli_error($con);
}
?>

我得到的错误是

“创建表时出错:您的SQL语法出错;请查看与您的MySQL服务器版本对应的手册,以便在'MAX'附近使用正确的语法,PRIMARY KEY(P_Id))'在第5行”< / p>

3 个答案:

答案 0 :(得分:2)

MySql不支持

VARCHAR(MAX),我认为你需要在那里指定一个数字。我认为64k是最大值。

VARCHAR(65535)

答案 1 :(得分:0)

CREATE TABLE posts
(_Id int NOT NULL AUTO_INCREMENT,
Title VARCHAR(200),
Post VARCHAR(MAX),
PRIMARY KEY (P_Id))

什么是MAX?有太多逗号!为什么使用PHP来初始化数据库?

答案 2 :(得分:0)

据我所知,你不能在mySQL中使用(MAX)VARCHAR。

见:

我想你想要:

...
Post VARCHAR(65535),
...