正在创建其中一个表未创建

时间:2017-11-22 06:11:49

标签: php mysql sql create-table insert-into

我正在使用mysql在我的数据库中创建表,这是我的代码:

mysqli_query($link, "CREATE TABLE IF NOT EXISTS `review` (
            `clients_id` int(15) NOT NULL AUTO_INCREMENT,
            `client_id` varchar(150) NOT NULL DEFAULT '',
            `rating` tinyint(2) NOT NULL DEFAULT '0',
            `proj_date` date NOT NULL DEFAULT '0000-00-00',
            `proj_desc` text NOT NULL DEFAULT '',
            `photoname` text NOT NULL,
            `companyname` text NOT NULL,
            `feedback` text NOT NULL,
            `status` tinyint(1) NOT NULL DEFAULT '0',
            `emailid` varchar(100) NOT NULL DEFAULT '',
            `customratings` varchar(100) NOT NULL DEFAULT '',
            `photo_option` varchar(100) NOT NULL DEFAULT '',
            `title` varchar(100) NOT NULL DEFAULT '',
            `citation` varchar(100) NOT NULL DEFAULT '',
            `date_option` varchar(100) NOT NULL DEFAULT '',
            `rating_option` varchar(100) NOT NULL DEFAULT '',
            PRIMARY KEY (`clients_id`),
            FULLTEXT KEY `feedback` (`feedback`)
            ) ENGINE=MyISAM  AUTO_INCREMENT=1") or mysqli_error($link);

但这并没有反映到我的数据库中?为什么我可能会出错?

但我尝试使用以下代码创建其他表

mysqli_query($link, "CREATE TABLE IF NOT EXISTS `setting` (
            `id` int(11) NOT NULL auto_increment,
            `script_url` text NOT NULL,
            `date` varchar(4) NOT NULL,
            `rateing` varchar(4) NOT NULL,
            `photo` varchar(4) NOT NULL,
            `dateformat` varchar(4) NOT NULL,
            `page_limit` int(4) NOT NULL,
            `proj_desc` varchar(4) NOT NULL,
            `companyname` varchar(4) NOT NULL,
            `text_color` varchar(255) NOT NULL,
            `citation_color` varchar(255) NOT NULL,
            `bg_color` varchar(255) NOT NULL,
            `border_color` varchar(255) NOT NULL,
            `ratingsformat` varchar(250) NOT NULL,
            `rating` varchar(250) NOT NULL,
            `customratings` varchar(250) NOT NULL,
            `speed` varchar(250) NOT NULL,
            `pagination` varchar(250) NOT NULL,
            `version` varchar(250) NOT NULL,
            `global_option` varchar(250) NOT NULL,
            PRIMARY KEY  (`id`)
            ) ENGINE=MyISAM AUTO_INCREMENT=0;
        ") or mysqli_error($link);

正确创建,两个表都在同一个文件中

3 个答案:

答案 0 :(得分:1)

不,你不能使用insert语句创建表。

有四种类型的SQL语句:

  1. DML(数据操作语言)
  2. DDL(数据定义语言)
  3. DCL(数据控制语言)
  4. TCL(交易控制语言)
  5. DML是您的SELECT,INSERT,UPDATE和DELETE语句...... DDL是你的CREATE,ALTER和DROP语句。

    See more info about types of SQL statements

    为了在表格中插入数据,首先需要创建数据。

    How to create sql table from php

答案 1 :(得分:0)

没有。 “INSERT INTO”用于仅将数据插入到现有表中。在尝试插入值之前,您应该创建具有相应列的表。

或者你可以在插入之前检查表是否存在。“如果存在”你可以插入值,否则只需创建并插入值。

答案 2 :(得分:0)

这对我有用,但我不知道怎么做?

我刚刚删除了DEFAULT''在创建评论表和表时创建 这是编辑的代码

mysqli_query($link, "CREATE TABLE IF NOT EXISTS `review` (
            `clients_id` int(15) NOT NULL AUTO_INCREMENT,
            `client_id` varchar(150) NOT NULL,
            `rating` tinyint(2) NOT NULL,
            `proj_date` date NOT NULL,
            `proj_desc` text NOT NULL,
            `photoname` text NOT NULL,
            `companyname` text NOT NULL,
            `feedback` text NOT NULL,
            `status` tinyint(1) NOT NULL,
            `emailid` varchar(100) NOT NULL,
            `customratings` varchar(100) NOT NULL,
            `photo_option` varchar(100) NOT NULL,
            `title` varchar(100) NOT NULL,
            `citation` varchar(100) NOT NULL,
            `date_option` varchar(100) NOT NULL,
            `rating_option` varchar(100) NOT NULL,
            PRIMARY KEY (`clients_id`),
            FULLTEXT KEY `feedback` (`feedback`)
            ) ENGINE=MyISAM  AUTO_INCREMENT=1") or mysqli_error($link);