gpt4 book ai didi

MySQL 哈希值作为列名

转载 作者:行者123 更新时间:2023-11-29 14:42:00 25 4
gpt4 key购买 nike

在使用 PHP 的 md5(microtime()) 结果作为列名称创建表时遇到语法错误。

特别是,错误被抛出在 ** 周围的部分:

CREATE TABLE form_data_38 (
id INT SIGNED auto_increment NOT NULL,
rltd_pri_key INT SIGNED NULL,
0accc77c084cc74a51dee479f8d095e3 TEXT(65535) NOT NULL,
**092e60b78f7804e86ea9a6e83701a929 TEXT(65535) NOT NULL**,
6734131796201537410e4d43635bf1b3 TEXT(65535) NULL,
PRIMARY KEY (id)
) TYPE=InnoDB;

令我困惑的是为什么它被抛出在那个位置,而不是它之前的其他 2 个哈希值。我将“a”附加到列名中,它创建的表没有问题。我搜索了 MySQL 命名规则,但到目前为止我还没有想出任何东西。它只是说所有字母数字字符加上“_”和“$”都可以使用,在这种情况下应该没问题。

我错过了什么?

最佳答案

将表和字段名称放在反引号中:`09e4_fieldName`,至少对于那些可能产生此类问题的人来说:

CREATE TABLE form_data_38 
( id INT SIGNED auto_increment NOT NULL
, rltd_pri_key INT SIGNED NULL
, `0accc77c084cc74a51dee479f8d095e3` TEXT(65535) NOT NULL
, `092e60b78f7804e86ea9a6e83701a929` TEXT(65535) NOT NULL
, `6734131796201537410e4d43635bf1b3` TEXT(65535) NULL
, PRIMARY KEY (id)
)
ENGINE = InnoDB ; --- ENGINE, not TYPE

关于MySQL 哈希值作为列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7808435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com