Outdated Version
You are viewing an older version of this section. View current production version.
ALTER VIEW
Atomically replace a view with a new view defined by a SELECT
statement. ALTER VIEW
is an online operation and will not cause concurrently executing queries to fail.
Syntax
ALTER
[DEFINER = { user | CURRENT_USER }]
VIEW view_name [(column_list)]
AS select_statement
Remarks
ALTER VIEW
atomically replaces viewview_name
with a new view defined byselect_statement
.ALTER VIEW
privileges are granted only to the user who created the view and toSUPER
users. If aSUPER
user alters a view, that user commandeersALTER
privileges from the user who created the view.- The
DEFINER
clause is used to modify the user to be used for security checks when a view is referenced by a query. While modifying theDEFINER
, the view body must be specified in the query. - The user who runs
ALTER DEFINER..VIEW
must have theSUPER
permission.
Examples
ALTER VIEW view1 AS SELECT * FROM customers WHERE user_id LIKE "CUS%";
ALTER DEFINER=`user7`@`127.0.0.1` VIEW view1 AS SELECT * FROM customers WHERE user_id LIKE "CUS%";
Related Topics