Добавление изменяющегося массива (VARRAY) в MySQL - PullRequest
1 голос
/ 26 марта 2012

Я пытаюсь создать таблицу в коде PHP, чтобы открыть ее в браузере для создания таблицы. Мне нужен переменный массив в таблице и правильный код для его создания в Oracle:

CREATE TYPE ReportEntries_Type AS OBJECT
(Subject VARCHAR (500));
/

CREATE OR REPLACE TYPE ReportEntries_VA AS
VARRAY (12) OF ReportEntries_Type;
/

CREATE TABLE ReportDetails
(ReportID INTEGER NOT NULL UNIQUE,
StudentID INTEGER NOT NULL UNIQUE,
ReportEntries ReportEntries_VA,
DateLastModified DATE NOT NULL,
CONSTRAINT ReportDetails_PK PRIMARY KEY (ReportID, StudentID),
CONSTRAINT RDStudentIDSD FOREIGN KEY (StudentID)
REFERENCES StudentDetails (StudentID));

Однако при помещении в код PHP и добавлении в базу данных MySQL появляется сообщение об ошибке. Код, который я использую, выглядит следующим образом:

<?php
require "connect_to_mysql.php";

$sqlCommand = "CREATE TYPE ReportEntries_Type AS OBJECT

...cont. code from above...

REFERENCES StudentDetails (StudentID))";

if (mysql_query ($sqlCommand)) {
echo "The ReportDetails table has been created successfully!";
} else {
echo "There has been an error";
}
?>

Возможно ли это вообще? Заранее большое спасибо:)

1 Ответ

1 голос
/ 26 марта 2012

Нет, это не совсем возможно, извините: (

В MySQL мы обычно используем поля VARCHAR или TEXT со значениями, разделенными запятой, чтобы сделать это. Я знаю, это раздражает:)

...