Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Просьба объяснить код на SQL - что означают команды и почему не запускается.

nickname Профи (881), закрыт 9 месяцев назад
CREATE DATABASE ximchistka
on primary
(name=sqlcode,
filename="C:\db\ximchistka_code.mdf,
size=5,
maxsize=100,
filegrowth=0)
log on
(name=sqlcodelog,
filename="C:\db\ximchistka_log.mdf",
size=1,
maxsize=40,
filegrowth=0)

Пытаюсь запустить код в phpmyadmin (MAMP) и возникают ошибки:
Неожиданный символ. (near "\" at position 173)
Неожиданный символ. (near "\" at position 176)
Ожидалась закрывающая кавычка ". (near "" at position 235)
Неизвестный оператор. (near "on" at position 28)
Я так подозреваю, это связано с тем, что phpmyadmin пытается создать базу на сервере, а команды создают базу на диске компа... Также просьба объяснить, что означает оператор on primary
Лучший ответ
Maks . Гуру (2603) 10 месяцев назад
Он тебе прямым текстом говорит что ты вставил гдето лишние две / и ковычки а также on
Остальные ответы
Валентин Лапин Ученик (179) 10 месяцев назад
Данный код на SQL используется для создания базы данных в Microsoft SQL Server.

Первая строка CREATE DATABASE ximchistka создает базу данных с именем "ximchistka".

Следующая строка "on primary" используется для определения группы файлов, на которую должна быть сохранена база данных.

"name=sqlcode" задает имя файла базы данных, а "filename="C:\db\ximchistka_code.mdf"" определяет путь к файлу на жестком диске.

"size=5" показывает начальный размер файла базы данных, "maxsize=100" указывает максимальный размер файла базы данных, а "filegrowth=0" задает размер, на который база данных будет увеличиваться автоматически при необходимости.

Команда "log on" позволяет определить, где будет храниться журнал транзакций базы данных.

"name=sqlcodelog" задает имя файла журнала транзакций базы данных, а "filename="C:\db\ximchistka_log.mdf"" определяет путь к файлу на жестком диске.

Оператор "on primary" указывает, что имя группы файлов - "primary".

Судя по возникшим ошибкам, Вы пытаетесь запустить код, который предназначен для Microsoft SQL Server, в phpMyAdmin, который работает с базами данных MySQL и MariaDB.

Кроме того, возникает синтаксическая ошибка в строке "filename="C:\db\ximchistka_code.mdf, так как необходимо закрыть кавычки после расширения файла. Вместо этого строку можно записать вот так:

filename='C:\\db\\ximchistka_code.mdf'

Двойной обратный слеш используется для экранирования специальных символов.

Для создания базы данных в MySQL можно использовать команду CREATE DATABASE. Она выглядит так:

CREATE DATABASE ximchistka;

Данный код создаст базу данных с именем "ximchistka".


чат GPT ОТВЕТ.
Ivan Sviridov Просветленный (45775) 10 месяцев назад
насколько же лучше сделан командный язык PostgreSQL! там прямо поэзия его читать...
Андрей Высший разум (425151) 10 месяцев назад
Ты пытаешься в MySQL выполнить код, написанный для совсем другой СУБД. И, разумеется, получаешь ошибку. В MySQL создание базы делается так:
https:// dev.mysql.com/doc/refman/8.0/en/create-database.html
Параметров намного меньше и они совершенно другие.

Более того, в MySQL баз данных - в смысле стандарта SQL - вообще не существует. Команда CREATE DATABASE создаёт не базу данных, а схему внутри единой безымянной базы данных. И если слово DATABASE заменить во всех командах на SCHEMA, ничего в MySQL не поменяется.
Похожие вопросы