我需要一个数据库来记录不同的事件。
我有一张主桌
CREATE TABLE IF NOT EXISTS `log` (
`log_id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`log_label` varchar(255) NOT NULL,
`log_level` int(1) NOT NULL DEFAULT '0',
`log_type` varchar(255) NOT NULL,
`log_time` datetime NOT NULL,
PRIMARY KEY (`log_id`)
)因此,我选择并制作了一个侧表,以包含主日志的任何值。该值可以是动态的。
CREATE TABLE IF NOT EXISTS `log_data` (
`log_data_id` int(11) NOT NULL AUTO_INCREMENT,
`log_id` int(11) NOT NULL,
`log_data_key` varchar(255) NOT NULL,
`log_data_value` varchar(255) NOT NULL,
PRIMARY KEY (`log_data_id`)
)当我需要通过php和mysql接收数据时,我会遇到一些问题/限制吗?
例如,使用"log_type = error“获取所有日志,我应该如何连接log_data表中的所有数据?
发布于 2015-03-13 19:59:47
您缺少一个较长的日志消息文本列;varchar(255)很小。
它的设计是一个奇怪的混合体:
log的大多数字段都应该降级为log_data。CREATE TABLE IF NOT EXISTS chat\_membership\_log ( log_id int(11) NOT NULL AUTO_INCREMENT,log_time datetime NOT NULL,event_type char(1),--'J'=join,‘L’=离开用户名varchar(40),主键(log\_id) ) CREATE TABLE IF NOT EXISTS application\_crash\_log ( log_id int(11) NOT NULL AUTO_INCREMENT,log_time datetime NOT NULL,PID varchar(20),command_line varchar(2000),PRIMARY KEY (log\_id) )
https://stackoverflow.com/questions/29027486
复制相似问题