Php 运行mysql查询以创建表时出错

Php 运行mysql查询以创建表时出错,php,mysql,Php,Mysql,我在使用MySQL创建表时遇到一个错误。我在下面解释我的问题 $sql="CREATE TABLE db_cron( ". "id INT NOT NULL AUTO_INCREMENT, ". "user_alert INT(11) NOT NULL DEFAULT NONE, ". "status INT(11) NOT NULL DEFAULT NONE, ". "PRIMARY KEY ( id )); "; 我得到以下错

我在使用MySQL创建表时遇到一个错误。我在下面解释我的问题

$sql="CREATE TABLE db_cron( ".
        "id INT NOT NULL AUTO_INCREMENT, ".
        "user_alert INT(11) NOT NULL DEFAULT NONE, ".
        "status INT(11) NOT NULL DEFAULT NONE, ".
        "PRIMARY KEY ( id )); ";
我得到以下错误:

#1064-您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 接近'NONE,status INT(11)NOT NULL DEFAULT NONE,PRIMARY KEY(id))' 在1号线


这里我需要创建一个默认值为none的表。

1。您已经应用了不必要的引号

2.您有
非空
以及
默认无
,这是不会发生的(使用
非空
时必须提供一些默认值)

你可以这样做:-

$sql="CREATE TABLE db_cron(
        id INT(11) NOT NULL AUTO_INCREMENT,
        user_alert INT(11) NOT NULL DEFAULT 0,
        status INT(11) NOT NULL DEFAULT 0,
        PRIMARY KEY ( id )
    )";

您使用了太多的引号只是为了连接多个字符串,这不是必需的

请删除这些引号,您还必须提供默认值,而不是
NULL
类似
0
的值或任何其他您想要的值

不过,您可以使用下面的查询来创建表

$sql = "CREATE TABLE `db_cron`( id INT NOT NULL AUTO_INCREMENT, 
                   user_alert INT(11) NOT NULL DEFAULT 0, 
                   status INT(11) NOT NULL DEFAULT 0, 
                   PRIMARY KEY ( id ))";
上述查询将为
user\u alert
status
创建具有默认值
0
的表

希望这对你有帮助


感谢和问候。

要求
非空
默认无
,hmmmerror消息对mesubhra来说似乎很清楚,请检查下面我的答案