MS SQL: Foreign key in create table
This commit is contained in:
parent
ca27ffc2c4
commit
4a2fe5eac1
|
@ -44,7 +44,7 @@ if ($_POST && !$error && !$_POST["add"] && !$_POST["drop_col"] && !$_POST["up"]
|
|||
$fields[] = array($field["orig"], $process_field, $after);
|
||||
}
|
||||
if (isset($foreign_key)) {
|
||||
$foreign[] = ($TABLE != "" ? "ADD" : " ") . " FOREIGN KEY (" . idf_escape($field["field"]) . ") REFERENCES " . idf_escape($foreign_keys[$field["type"]]) . " (" . idf_escape($type_field["field"]) . ")" . (in_array($field["on_delete"], $on_actions) ? " ON DELETE $field[on_delete]" : "");
|
||||
$foreign[] = ($TABLE != "" ? "ADD" : " ") . " FOREIGN KEY (" . idf_escape($field["field"]) . ") REFERENCES " . table($foreign_keys[$field["type"]]) . " (" . idf_escape($type_field["field"]) . ")" . (in_array($field["on_delete"], $on_actions) ? " ON DELETE $field[on_delete]" : "");
|
||||
}
|
||||
$after = "AFTER " . idf_escape($field["field"]);
|
||||
} elseif ($field["orig"] != "") {
|
||||
|
|
|
@ -425,6 +425,9 @@ WHERE OBJECT_NAME(i.object_id) = " . q($table)
|
|||
if ($table != $name) {
|
||||
queries("EXEC sp_rename " . q(table($table)) . ", " . q($name));
|
||||
}
|
||||
if ($foreign) {
|
||||
$alter[""] = $foreign;
|
||||
}
|
||||
foreach ($alter as $key => $val) {
|
||||
if (!queries("ALTER TABLE " . idf_escape($name) . " $key" . implode(",", $val))) {
|
||||
return false;
|
||||
|
|
Loading…
Reference in a new issue