Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在重复的多列上,包含datetime的键不起作用_Mysql_Datetime_Sql Update - Fatal编程技术网

Mysql 在重复的多列上,包含datetime的键不起作用

Mysql 在重复的多列上,包含datetime的键不起作用,mysql,datetime,sql-update,Mysql,Datetime,Sql Update,我的数据库中有如下表: someID (int) | date (datetime) | a | b | --------------------------------------- 其中someID和date是我的主键。然后我使用如下查询: INSERT INTO theTable SET date='2014-12-07 11:00:00', someID = 25, a=1, b=0 ON DUPLICATE KEY UPDATE a = a + 1 问题是,如果我更改someID值

我的数据库中有如下表:

someID (int) | date (datetime) | a | b |
---------------------------------------

其中someID和date是我的主键。然后我使用如下查询:

INSERT INTO theTable SET date='2014-12-07 11:00:00', someID = 25, a=1, b=0 ON DUPLICATE KEY UPDATE a = a + 1
问题是,如果我更改someID值,数据库将创建一个新记录,但如果someID相同,则它不关心日期,即使它也声明为主键

你有办法解决我的问题吗

编辑我的完整架构:

CREATE TABLE `table` (
  `someId` int(11) NOT NULL,
  `date` datetime NOT NULL,
  `a` int(11) NOT NULL DEFAULT '0',
  `b` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`someId`,`date`),
) ENGINE=InnoDB DEFAULT CHARSET=UTF8;

从现在起,它起作用了。似乎我有一个额外的索引键导致了这个问题。

其中someID和date是我的主键。是否要共享完整架构?我不确定如何发布只有phpmyadmin访问权限的完整架构,并使用非英语语言descripe tableName将有所帮助。它似乎在我的本地服务器中按预期工作。您确定使用了确切的日期值强制a=a+1?我的意思是,我两次使用同一个查询,a的值=2