我有一个数据库,其中一列是'project_stmt',用于存储文本数据。我已经将数据类型设置为varchar(1000),但有时候使用项目语句的输入文本会像100K字符那样超过很大,在这种情况下数据不会存储到数据库中,因此数据不会存储到数据库中,如何将大文本数据存储在使用mysql和php的id链接的两个表中
一种解决方案是使用BLOB数据类型这种情况下我浪费了很多空间,因为'project_stmt'的用户输入的80%将低于500个字符.....所以我想将'project_stmt'的用户输入文本存储到第二个表中,例如分配数据链接, ,,,我怎么能这样做
CREATE TABLE projects (user_id int(11),
project_id int(11) NOT NULL AUTO_INCREMENT,
project_title varchar(25) NOT NULL,
project_stmt varchar(1000) NOT NULL,
PRIMARY KEY (`project_id`),
FOREIGN KEY (`user_id`) REFERENCES `user_info` (`user_id`)
);
创建2个新表,一个用在500个字符的ID和文本字段和另一个表与一个ID和blob这可能看起来不漂亮,但它可能是这种差异的最佳解决方案) – dwana 2014-09-26 09:29:49
为了数据库中的数据规范化,你最好只是在空间上的命中和使用TEXT或BLOB。 – shaunl 2014-09-26 09:39:26