在相同的ID中插入重复的密钥更新

拉兹万

我需要创建Chart analist,我想记录当天所做的事情。我到处看,找不到工作方法,找到了东西,但插入效果不好,这里有代码

$mysqli->query('
INSERT INTO chart_sales (date, sales_order) VALUES (Now(), sales_order +1) 
ON DUPLICATE KEY UPDATE sales_order =VALUES(+1)');
 $rslt = mysql_query($stmt);

如何记录当天所做的事情,以及如果您放置另一个日期来生成另一个ID,该如何记录?

这是我的数据库标签

-- ----------------------------
-- Table structure for `chart_sales`
-- ----------------------------
DROP TABLE IF EXISTS `chart_sales`;
CREATE TABLE `chart_sales` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `date` date NOT NULL DEFAULT '0000-00-00',
  `sales_order` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of chart_sales
-- ----------------------------
INSERT INTO `chart_sales` VALUES ('1', '2015-09-11', '1');
INSERT INTO `chart_sales` VALUES ('2', '2015-09-11', '1');
INSERT INTO `chart_sales` VALUES ('3', '2015-09-11', '1');
INSERT INTO `chart_sales` VALUES ('4', '2015-09-11', '1');
德鲁

一些语法错误。这是您要拍摄的内容:

INSERT INTO chart_sales (date, sales_order) VALUES (Now(), someValue) 
ON DUPLICATE KEY UPDATE sales_order =sales_order +1

你需要一个唯一键date

要使它起作用,关键是该模式必须具有现有的唯一密钥,无论是它Primary Key(PK)还是unique key冲突候选者。在您的情况下,您所拥有的只是PK。你需要一个UNIQUE KEYdate

您可以有许多唯一的关键候选者clash,只需要一个。

因此,如果您不提供重复的ID,则该ID为INSERT如果将存在clash,则UPDATE发生这种情况。

注意:clash表示这样的尝试会以其他方式违反唯一性,这在这里是一件好事,因为使用该语句会发生UPDATE。

然后把它们放在一起

CREATE TABLE `chart_sales` (
  `id` int(11) AUTO_INCREMENT primary key,
  `date` date NOT NULL,
  `sales_order` int(11) NOT NULL,
  unique key(`date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `chart_sales` (date,sales_order) VALUES ('2015-09-11',1) on duplicate key update sales_order=sales_order+1;
INSERT INTO `chart_sales` (date,sales_order) VALUES ('2015-09-22',1) on duplicate key update sales_order=sales_order+1;
INSERT INTO `chart_sales` (date,sales_order) VALUES ('2015-09-22',1) on duplicate key update sales_order=sales_order+1;
INSERT INTO `chart_sales` (date,sales_order) VALUES ('2015-09-22',1) on duplicate key update sales_order=sales_order+1;

...

select * from chart_sales;
+----+------------+-------------+
| id | date       | sales_order |
+----+------------+-------------+
|  1 | 2015-09-11 |           1 |
|  2 | 2015-09-22 |           3 |
+----+------------+-------------+
2 rows in set (0.00 sec)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

插入...在重复密钥更新[IF]上

来自分类Dev

cassandra在同一批中插入+更新相同的密钥

来自分类Dev

未找到“id”列。在 php 中重复密钥更新

来自分类Dev

插入...在重复密钥更新问题上

来自分类Dev

MySQL插入的更新字段...在重复密钥更新时

来自分类Dev

MySQL在非主密钥的重复更新上插入

来自分类Dev

使用IF对重复密钥更新进行mysql插入

来自分类Dev

插入具有两个条件的重复密钥更新

来自分类Dev

插入重复更新,获取“新”生成的ID

来自分类Dev

Hashmap中相同密钥的数据更新

来自分类Dev

MySQL在重复的密钥更新上插入并在密钥不存在时删除

来自分类Dev

无法在对象“ dbo.Addresses”中插入重复密钥

来自分类Dev

无法在对象异常ef中插入重复的密钥

来自分类Dev

将重复的密钥插入2-3-4树中

来自分类Dev

捕获重复的密钥插入异常

来自分类Dev

相同的随机值重复插入到集合中 C#

来自分类Dev

插入重复更新,始终插入

来自分类Dev

无法在对象'dbo.Zoopla'中插入重复的密钥。重复的键值为(35268380)

来自分类Dev

将密钥对值插入嵌套的dict中,而不会在产生重复密钥的密钥定界符之后覆盖

来自分类Dev

mysql在重复的密钥更新上插入,检查发生了哪一个

来自分类Dev

在重复密钥上更新组合密钥

来自分类Dev

雄辩地在重复密钥更新

来自分类Dev

使用JdbcBatchItemWriter更新重复密钥

来自分类Dev

如何在重复密钥更新时禁止自动递增ID更新?

来自分类Dev

在postgres中的相同函数中检索插入/更新/删除的记录

来自分类Dev

查询更新中插入当前ID的表列?

来自分类Dev

用多个键在重复键更新中插入..

来自分类Dev

是否可以在重复键更新中插入时使用“ join”

来自分类Dev

在Laravel中插入数据时更新重复数据

Related 相关文章

  1. 1

    插入...在重复密钥更新[IF]上

  2. 2

    cassandra在同一批中插入+更新相同的密钥

  3. 3

    未找到“id”列。在 php 中重复密钥更新

  4. 4

    插入...在重复密钥更新问题上

  5. 5

    MySQL插入的更新字段...在重复密钥更新时

  6. 6

    MySQL在非主密钥的重复更新上插入

  7. 7

    使用IF对重复密钥更新进行mysql插入

  8. 8

    插入具有两个条件的重复密钥更新

  9. 9

    插入重复更新,获取“新”生成的ID

  10. 10

    Hashmap中相同密钥的数据更新

  11. 11

    MySQL在重复的密钥更新上插入并在密钥不存在时删除

  12. 12

    无法在对象“ dbo.Addresses”中插入重复密钥

  13. 13

    无法在对象异常ef中插入重复的密钥

  14. 14

    将重复的密钥插入2-3-4树中

  15. 15

    捕获重复的密钥插入异常

  16. 16

    相同的随机值重复插入到集合中 C#

  17. 17

    插入重复更新,始终插入

  18. 18

    无法在对象'dbo.Zoopla'中插入重复的密钥。重复的键值为(35268380)

  19. 19

    将密钥对值插入嵌套的dict中,而不会在产生重复密钥的密钥定界符之后覆盖

  20. 20

    mysql在重复的密钥更新上插入,检查发生了哪一个

  21. 21

    在重复密钥上更新组合密钥

  22. 22

    雄辩地在重复密钥更新

  23. 23

    使用JdbcBatchItemWriter更新重复密钥

  24. 24

    如何在重复密钥更新时禁止自动递增ID更新?

  25. 25

    在postgres中的相同函数中检索插入/更新/删除的记录

  26. 26

    查询更新中插入当前ID的表列?

  27. 27

    用多个键在重复键更新中插入..

  28. 28

    是否可以在重复键更新中插入时使用“ join”

  29. 29

    在Laravel中插入数据时更新重复数据

热门标签

归档