当前位置: 首页 > 面试题库 >

您可以在MySQL中使用数字作为表名吗?

慕仲渊
2023-03-14
问题内容

我正在考虑拥有一个可以根据需要动态创建新表的程序。我可以在MySQL中使用仅以数字命名的表吗?


问题答案:

命名对象的规则,包括MySql中的表:

http://dev.mysql.com/doc/refman/5.1/zh-
CN/identifiers.html

标识符可以以数字开头,但 除非加引号, 否则不能仅由数字组成。

因此,这将是无效的:

 SELECT * FROM 12345;

但是以下内容将有效:

 SELECT * FROM `12345`;

或者,如果以ANSI模式运行,则可以进行以下操作:

SET @@session.sql_mode=ANSI_QUOTES;
SELECT * FROM "12345";


 类似资料:
  • 问题内容: 我有一个表,其列名称如25、50、100等。 尝试更新表时,无论如何操作,都会出现错误 我尝试过用各种方式引用和反引号,但没有成功。 该错误始终遵循以下方面: 您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的“ 25’= 100 WHERE id = 1”附近使用 如果我将列名更改为-我没有问题,但这不是我想要的。可以使用数字作为列名吗? 问

  • 问题内容: 我将Oracle用作数据库层,但是问题是通过OCI8(我做了一个PDO用户空间驱动程序)的oracle仅支持SQL语句中的命名参数,不支持定位的参数。(例如使用多个?) 从根本上讲,是Laravel的Eloquent生成了SQL,但是我找不到任何有关如何重写参数构造的文档。 我希望能够以“:name”的形式创建命名参数,而不是放置多个“?” 整个查询。 能做到吗?我的猜测是它与数据库语

  • 问题内容: 基本上,我想设置一个使用“ for”作为参数以提高可读性的函数。 我设置了类似的内容,但是当我尝试将开关用于“ for”时,它将作为关键字出现并引发编译错误。 干杯 问题答案: 使用关键字作为普通标识符时,您必须使用反引号`对此进行转义

  • 问题内容: 我正在尝试将表名传递到我的mysql存储过程中,以使用此sproc从其他表中进行选择,但是它不起作用… 这是我正在尝试的: 我也尝试过不带@符号,它只是告诉我TableName不存在…我知道:) 问题答案: 它取决于DBMS,但是这种表示法通常需要Dynamic SQL,并且会遇到一个问题,即函数执行时的返回值取决于输入。这给系统带来了麻烦。作为一般规则(因此可能会有例外),DBMS不

  • 问题内容: 我想做这样的事情: 但是,这会导致错误,是否可以在mysql中为默认值调用函数? 谢谢。 问题答案: 不,你不能。 但是,您可以轻松创建触发器来执行此操作,例如:

  • 问题内容: 我对MYSQL非常新。我试图创建一个名为“ option”的表。 我的SQL查询是: 创建表选项( id int不为null主键auto_increment, 选择varchar(30) ) 执行此查询时,它显示以下错误 1064您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行(使用0毫秒)附近在’option(id int not null