MySQL ucfirst不起作用

时间:2009-12-29 14:43:57

标签: mysql

我有这张桌子:

CREATE TABLE IF NOT EXISTS `events` (
  `evt_id` int(11) NOT NULL AUTO_INCREMENT,
  `evt_name` varchar(50) CHARACTER SET utf8 NOT NULL DEFAULT 'ucfirst',
  `evt_description` varchar(100) DEFAULT NULL,
  `evt_startdate` date NOT NULL,
  `evt_enddate` date DEFAULT NULL,
  `evt_starttime` time DEFAULT NULL,
  `evt_endtime` time DEFAULT NULL,
  `evt_amtpersons` int(11) DEFAULT NULL,
  `sts_id` int(11) NOT NULL,
  `adr_id` int(11) DEFAULT NULL,
  `evt_amtPersonsSubs` tinyint(4) NOT NULL DEFAULT '0',
  `evt_photo` varchar(50) DEFAULT NULL,
  `sys-mut-dt` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `sys-mut-user` varchar(20) DEFAULT NULL,
  `sys-mut-id` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`evt_id`),
  KEY `sts_id` (`sts_id`),
  KEY `adr_id` (`adr_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;

但是当我将数据添加到evt_name时,我的第一个字符没有大写。有什么想法吗?

更多信息: MySQL客户端版本:5.1.37

我想在数据库中执行此操作,以便我不必始终使用php ucfirst

2 个答案:

答案 0 :(得分:3)

...什么?

如果我正确阅读,则只需将evt_name的默认值设置为字符串ucfirst。尝试插入一个空白行,看看我是否正确阅读。

如果你真的反对在PHP中使用ucfirst,那么每次查询时你可能仍然需要调用ucfirst。或者您只能在显示屏上使用ucfirst,而不能在数据库中使用。

答案 1 :(得分:2)

ucfirst是一个函数...您将其定义为单元格的默认值。像这样使用它:

INSERT INTO events SET evt_name = UCFIRST($value)