我创建了一个表并意外创建了一个名称为的列DATE(FROM_UNIXTIME(email_sends.created_ts))
我无法选择此列来重命名它,因为它使用受保护的字符。基本上,我要求在 mysql 中转义此列名的正确方法,以便我可以更改它。
使用反引号引用包含特殊字符的标识符。如手册所述:
标识符可以被引用或不被引用。如果标识符包含特殊字符或者是保留字,则在引用它时必须引用它。
[...]
标识符引号字符是反引号(“<code>`”)
因此,您可以执行类似的操作:
ALTER TABLE foo CHANGE `DATE(FROM_UNIXTIME(email_sends.created_ts))` newname DATE;