mysql> create database dh-wy-catalog;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘-wy-catalog’ at line 1
在 MySQL 中,标识符(例如数据库名称、表名等)的规则是相当宽松的,但在某些情况下,使用连字符可能会导致问题。主要原因是 MySQL 将连字符用作操作符,因此在某些上下文中,可能会被误解为语法的一部分。
如果你坚持要使用连字符,可以尝试将整个标识符使用反引号(`)括起来,这样可以告诉 MySQL 将其视为一个整体。例如:
CREATE DATABASE `dh-wy-catalog`;
使用反引号括起来的标识符在 MySQL 中是被允许的,它允许你使用几乎任何字符作为标识符,包括空格和特殊字符。
总体而言,为了避免潜在的问题,一般建议使用下划线或者不使用特殊字符作为标识符。这有助于确保数据库和表名在各种情况下都能够正常工作。