【问题标题】:MySQL error when creating table with phpmyadmin #1016使用 phpmyadmin #1016 创建表时出现 MySQL 错误
【发布时间】:2014-01-04 00:14:07
【问题描述】:

我有问题。我想创建一个表来存储带有一些附加信息的图像,但总是出错。通常我会尝试自己修复类似的问题,但我根本不明白错误消息...... 我用我的所有设置截取了屏幕截图。除 ID 的自动增量复选框外,所有隐藏的字段均未设置。

一些翻译:

Spalte = Column
Typ = Type
Länge/Werte = Length/Values
Keine(e) = Nothing
Wie definiert = Like defined

@那些说,我应该添加查询:这是Safari的完整截图;没有任何查询:

【问题讨论】:

标签: mysql phpmyadmin


【解决方案1】:

问题在于 photofield longblob 设置为二进制: 将其设置从二进制更改为空白

【讨论】:

    【解决方案2】:

    您应该将ENUM 之后的512 替换为ENUM 元素的逗号分隔列表。比如

    'tag1', 'tag2', 'tag3'
    

    相关:Creating ENUM variable type in MySQL

    但我必须警告您,ENUM 旨在用于一小部分非常稳定的值。如果不时添加、删除或重命名一个值,最好使用 CREATE TABLE tags (id INT NOT NULL AUTO_INCREMENT, name TINYTEXT NOT NULL, PRIMARY KEY (id)) 并将引用 tags.id 列的外键存储到您的表中。这实现了类型 1:n 的关系。如果可以分配多个标签,请删除 TAGS 列并创建一个两列帮助表,其中包含引用 tags.id 的外键和引用表的 ID 列的另一个外键。这实现了 n:m 类型的关系。您需要JOIN 从多个表中获取数据。

    【讨论】:

    • 我试过完全一样,但除了错误消息现在没有任何变化“#1064 - 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册以获取正确的在 'BINARY NOT NULL DEFAULT '0', TEXT LONGTEXT NULL, TAGS ENUM('Tag 1','Tag 2','' at line 1" 附近使用的语法
    • @K.Biermann Vickel 已经在您的CREATE TABLE 查询中发现了第一个错误。 BINARY 属性仅适用于 *TEXT,不适用于 *BLOB。见the manual。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-07
    • 2018-06-14
    • 2018-01-26
    • 2021-04-12
    • 2022-11-14
    • 2014-04-29
    相关资源
    最近更新 更多