我最近接手了一个10年前创建的旧项目.它使用MySQL 5.1.
除此之外,我需要将默认字符集从latin1更改为utf8.
举个例子,我有这样的表:
CREATE TABLE `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`first_name` varchar(45) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
`last_name` varchar(45) CHARACTER SET latin1 COLLATE latin1_general_ci DEFAULT NULL,
`username` varchar(127) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`email` varchar(127) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`pass` varchar(20) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`active` char(1) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL DEFAULT 'Y',
`created` datetime NOT NULL,
`last_login` datetime DEFAULT NULL,
`author` varchar(1) …Run Code Online (Sandbox Code Playgroud) 我有一张桌子
`CREATE TABLE IF NOT EXISTS `PROGETTO`.`ALBERGO` (
`ID` INT(11) NOT NULL COMMENT 'identificativo dell\' albergo' ,
`nome` VARCHAR(45) NULL COMMENT 'Il nome dell\'albergo' ,
`viale` VARCHAR(45) NULL COMMENT 'Il viale in cui si trova ' ,
`num_civico` VARCHAR(5) NULL COMMENT 'Il numero civico che gli appartiene' ,
`data_apertura` DATE NULL COMMENT 'Data di inizio apertura (inizio stagione)' ,
`data_chiusura` DATE NULL COMMENT 'Data di chiusura (fine stagione)' ,
`orario_apertura` TIME NULL COMMENT 'Orario di apertura' ,
`orario_chiusura` TIME NULL …Run Code Online (Sandbox Code Playgroud) 当我尝试使用字段更新表时(datetime),我收到以下错误
致命错误:未捕获的异常'PDOException',消息'SQLSTATE [2007]:无效的日期时间格式:1292不正确的日期时间值:'02 -27-2017 16:37'用于最后一列的列
我的PHP代码使用PDO
$lastupdated = date('m-d-Y H:i:s');
$run = $conn->prepare($sql);
$run->bindParam(':lastupdated', $lastupdated, PDO::PARAM_STR);
Run Code Online (Sandbox Code Playgroud)
SQL lastbudated,数据类型是 datetime
现有数据