Одна таблица не создается, другая создается

Я работаю над созданием таблицы в моей базе данных с 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);

он создается правильно, и обе таблицы находятся в одном файле

0

Решение

Нет, вы не можете создать таблицу с помощью оператора вставки.

Существует четыре типа операторов SQL:

  1. DML (ЯЗЫК МАНИПУЛЯЦИИ ДАННЫХ)
  2. DDL (ЯЗЫК ОПРЕДЕЛЕНИЯ ДАННЫХ)
  3. DCL (ЯЗЫК УПРАВЛЕНИЯ ДАННЫМИ)
  4. TCL (ЯЗЫК УПРАВЛЕНИЯ СДЕЛКАМИ)

DML — это ваши операторы SELECT, INSERT, UPDATE и DELETE …
DDL — это ваши операторы CREATE, ALTER и DROP.

Смотрите больше информации о типах операторов SQL

Для того, чтобы вставить данные в вашу таблицу, сначала вам нужно ее создать.

Как создать таблицу SQL из PHP

1

Другие решения

Нет. «INSERT INTO» используется для вставки данных только в существующую таблицу. Вам следует создать таблицу с соответствующим столбцом, прежде чем пытаться вставить значения.

Или вы можете проверить, существует ли таблица или нет, прежде чем идти вставкой. «Если существует», вы можете вставить значение, иначе просто создайте и вставьте значения.

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);
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector