Php mysqli无法创建表
我的mysql有问题。它连接到数据库,但不构成表。下面是我的代码示例:Php mysqli无法创建表,php,mysql,mysqli,Php,Mysql,Mysqli,我的mysql有问题。它连接到数据库,但不构成表。下面是我的代码示例: $db = new mysqli('localhost', 'user.name', 'user.pass', 'db'); if ($db === FALSE) { echo "ERRROR"; } $sql = "CREATE TABLE IF NOT EXISTS db ( ID INT NOT NULL AUTO_INCREMENT, NAME VARCHA
$db = new mysqli('localhost', 'user.name', 'user.pass', 'db');
if ($db === FALSE) {
echo "ERRROR";
}
$sql = "CREATE TABLE IF NOT EXISTS db (
ID INT NOT NULL AUTO_INCREMENT,
NAME VARCHAR(20) NULL
)";
$db->query($sql);
if (mysqli_query($db, $sql)) {
echo "TABLE CREATED SUCCESSFULLY";
} else {
echo "TABLE CREATED UNSUCCESSFULLY";
}
我很感激你的回答,谢谢你的帮助 MySQL只允许将列定义为键时自动递增。如果列标记为ID,这意味着您可能希望将其作为主键,请尝试以下操作:
$sql = "CREATE TABLE IF NOT EXISTS db (
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(20) NULL
)";
因为MySQL查询中有错误
CREATE TABLE IF NOT EXISTS db (
ID INT NOT NULL AUTO_INCREMENT,
NAME VARCHAR(20) NULL;
表定义不正确;只能有一个自动列,必须将其定义为键
修正:
主键不是强制性的,普通键也可以使用。您能试试这个吗
$db = new mysqli('localhost', 'user.name', 'user.pass', 'db');
if ($db === FALSE) {
echo "ERRROR";
}
$sql = "CREATE TABLE IF NOT EXISTS db (
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(20) NULL
)";
$db->query($sql);
if (mysqli_query($db, $sql)) {
echo "TABLE CREATED SUCCESSFULLY";
} else {
echo "TABLE CREATED UNSUCCESSFULLY";
}
你能试着把这个添加到脚本中吗?它应该会给我们一条错误消息:echo(“表创建失败:”.mysqli_error($sql));是的,它很管用!!!非常感谢你!确保将此答案标记为已接受,因为它解决了您的问题。只需点击这个答案旁边的绿色复选标记。当然,我必须等待2分钟:D
$db = new mysqli('localhost', 'user.name', 'user.pass', 'db');
if ($db === FALSE) {
echo "ERRROR";
}
$sql = "CREATE TABLE IF NOT EXISTS db (
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(20) NULL
)";
$db->query($sql);
if (mysqli_query($db, $sql)) {
echo "TABLE CREATED SUCCESSFULLY";
} else {
echo "TABLE CREATED UNSUCCESSFULLY";
}