private final function addForeign(KeyInterface $key, string $name): string
    {
        return "ADD CONSTRAINT" . " `fk_" . $name . "`"
             . " " . $this->constant($key->getType())
             . " (`" . implode("`, `", ($key->getSubject())) . "`) "
             . " REFERENCES `" . $key->getForeigner() . "`"
             . " (`" . implode("`, `", ($key->getForeignerSubject())) . "`),\n";
    }
private final function addForeign(KeyInterface $key, string $name): string
    {
        return "ADD CONSTRAINT" . " `fk_" . $name . "`"
             . " " . $this->constant($key->getType())
             . " (`" . implode("`, `", ($key->getSubject())) . "`) "
             . " REFERENCES `" . $key->getForeigner() . "`"
             . " (`" . implode("`, `", ($key->getForeignerSubject())) . "`),\n";
    }
private final function addForeign ( KeyInterface $ key , string $ name ) : string { return "ADD CONSTRAINT" . " `fk_" . $ name . "`" . " " . $ this -> constant ( $ key -> getType ( ) ) . " (`" . implode ( "`, `" , ( $ key -> getSubject ( ) ) ) . "`) " . " REFERENCES `" . $ key -> getForeigner ( ) . "`" . " (`" . implode ( "`, `" , ( $ key -> getForeignerSubject ( ) ) ) . "`),\n" ; }
Get add foreign key syntaxe

@param KeyInterface $key key
@param string $name name
@return string add foreign key syntaxe
Get add foreign key syntaxe