为什么在phpmyadmin中使用varbinary(max)时会出现语法错误?

时间:2016-02-23 03:11:26

标签: mysql phpmyadmin

我试图将varbinary(max)用于我的图像数据类型,但我总是在“max)...”附近得到sytax错误,

这是我的sql代码

CREATE DATABASE IF NOT EXISTS ShopingSite;

USE ShopingSite;

CREATE TABLE IF NOT EXISTS Category (
    C_id int NOT NULL,
    C_name varchar(30),
    PRIMARY KEY(C_id)
);

CREATE TABLE IF NOT EXISTS Product (
    P_id int NOT NULL,
    P_name varchar(30),
    C_id int,
    image varbinary(max),
    PRIMARY KEY(P_id),
    FOREIGN KEY (C_id) REFERENCES Category(C_id)
);

1 个答案:

答案 0 :(得分:1)

varbinary列的最大大小取决于所有列之间共享的剩余表行空间(65535字节)。

CREATE TABLE IF NOT EXISTS Product (
    P_id int NOT NULL,
    P_name varchar(30),
    C_id int,
    image varbinary(65000),
    PRIMARY KEY(P_id),
    FOREIGN KEY (C_id) REFERENCES Category(C_id)
);

如果所有行总计达到535个字节(该值是一个示例),则上述查询将起作用。