如何在phpMyAdmin -sql中的两个表的主键中使用唯一值?(在php中使用)

萨迪

我有2张桌子,像这样:

1-private_messages表:

messageId  | message
--------------------
1          |  text1
4          |  text4

2-public_messages表:

messageId  |  message 
----------------------
2          |  text2
3          |  text3
5          |  text5

在两个表中,messageId列是primaryKey

现在,我希望这两列是自动递增的,并且在两个表中都具有唯一的ID,如上所示。

现在,当我想在一个表中插入一行时,我必须找到每个表的最大Id并进行比较以找到它们的最大。然后增加它并插入新行。

我想知道,在插入新行时,数据库是否有自动的更好或自动的方法?

谢谢

琼斯

您可以通过如下所示的编程模式在MySQL中获得唯一编号。

首先为序列创建一个表。它具有一个自动递增字段,仅此而已。

CREATE TABLE sequence (
    sequence_id INT NOT NULL AUTO_INCREMENT,
    PRIMARY KEY (`sequence_id`)
)

然后,当您需要在一个表中插入一个唯一的数字时,请使用类似以下查询的内容:

INSERT INTO sequence () VALUES ();
DELETE FROM sequence WHERE sequence_id < LAST_INSERT_ID();
INSERT INTO private_messages (messageID, message)
                      VALUES (LAST_INSERT_ID(), 'the message');

保证第二个INSERT使用唯一的序列号。即使您有数十个不同的客户端程序连接到数据库,该保证仍然有效。这就是AUTO_INCREMENT的优点。

第二个查询(DELETE)防止表变大和浪费空间。除了最近的那一行,我们不在乎表中的任何行。

编辑如果您使用的是php,只需mysqli_query()在您为程序选择的MySQL接口中使用三个调用或等效方法,一个接一个地发出三个查询

话虽如此,当心虚假的经济。别忘了,Amazon S3的存储成本为每GB每年0.36美元。那是最昂贵的存储。将您的两种类型的表放到一个表中的“浪费”存储成本可能会达到几美元。对生产中损坏的数据库应用程序进行故障排除将花费数千美元。把事情简单化!

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在SQL中使用一个SELECT命令显示两个表中的值?

来自分类Dev

如何在SQL中使用两个信息表

来自分类Dev

如何在fedora中使用phpmyadmin?

来自分类Dev

如何在mysqlnd中使用phpMyAdmin

来自分类Dev

如何在角度的一个HTML文件中使用这两个表元素?

来自分类Dev

如何在phpmyadmin中创建主键?

来自分类Dev

如何在类似搜索中使用 ORM 从两个表中获取数据 - 使用 Laravel

来自分类Dev

如何在PHP中使用自动完成功能在标签中显示两个数据库值中的一个

来自分类Dev

如何在SQL中使用Jon联接两个表?

来自分类Dev

如何在SQL中使用两个表数据进行管理员登录?

来自分类Dev

如何在PHP中使用一个mysqli查询更新两个选择框

来自分类Dev

如何在Hibernate实体注释中使用两个外键作为主键

来自分类Dev

如何在C#中从另一页发送的URL中使用两个值?

来自分类Dev

如何在SQL Server中使用另一个表上的值的条件来更新表中的值

来自分类Dev

如何在yii2中使用来自两个表的显示数据

来自分类Dev

如何在Codeigniter中使用JOIN从两个表中获取AVERAGE

来自分类Dev

如何在DB2中使用DATE子句内部联接两个表

来自分类Dev

如何在Hibernate中使用Join从两个表中获取列

来自分类Dev

如何在Simple OData Client中使用join从两个表中检索数据?

来自分类Dev

如何在MySQL中使用INNER JOIN从两个表中删除行?

来自分类Dev

如何在Codeigniter中使用单个查询在两个单独的表中插入数据?

来自分类Dev

如何在 UNION 查询中的两个表中使用 where 条件?

来自分类Dev

如何在一个EAR中的两个WAR中使用OmniFaces 1.6?

来自分类Dev

如何在一个EAR中的两个WAR中使用OmniFaces 1.6?

来自分类Dev

如何在PMD中的一个规则中使用两个AST节点?

来自分类Dev

如何从sql中的两个表中获取唯一值?

来自分类Dev

如何在C#中使用linq检查列表中是否存在两个值

来自分类Dev

如何在phpmyadmin中跳过表排序

来自分类Dev

如何在数组中的php中使用“两个”计数器?

Related 相关文章

  1. 1

    如何在SQL中使用一个SELECT命令显示两个表中的值?

  2. 2

    如何在SQL中使用两个信息表

  3. 3

    如何在fedora中使用phpmyadmin?

  4. 4

    如何在mysqlnd中使用phpMyAdmin

  5. 5

    如何在角度的一个HTML文件中使用这两个表元素?

  6. 6

    如何在phpmyadmin中创建主键?

  7. 7

    如何在类似搜索中使用 ORM 从两个表中获取数据 - 使用 Laravel

  8. 8

    如何在PHP中使用自动完成功能在标签中显示两个数据库值中的一个

  9. 9

    如何在SQL中使用Jon联接两个表?

  10. 10

    如何在SQL中使用两个表数据进行管理员登录?

  11. 11

    如何在PHP中使用一个mysqli查询更新两个选择框

  12. 12

    如何在Hibernate实体注释中使用两个外键作为主键

  13. 13

    如何在C#中从另一页发送的URL中使用两个值?

  14. 14

    如何在SQL Server中使用另一个表上的值的条件来更新表中的值

  15. 15

    如何在yii2中使用来自两个表的显示数据

  16. 16

    如何在Codeigniter中使用JOIN从两个表中获取AVERAGE

  17. 17

    如何在DB2中使用DATE子句内部联接两个表

  18. 18

    如何在Hibernate中使用Join从两个表中获取列

  19. 19

    如何在Simple OData Client中使用join从两个表中检索数据?

  20. 20

    如何在MySQL中使用INNER JOIN从两个表中删除行?

  21. 21

    如何在Codeigniter中使用单个查询在两个单独的表中插入数据?

  22. 22

    如何在 UNION 查询中的两个表中使用 where 条件?

  23. 23

    如何在一个EAR中的两个WAR中使用OmniFaces 1.6?

  24. 24

    如何在一个EAR中的两个WAR中使用OmniFaces 1.6?

  25. 25

    如何在PMD中的一个规则中使用两个AST节点?

  26. 26

    如何从sql中的两个表中获取唯一值?

  27. 27

    如何在C#中使用linq检查列表中是否存在两个值

  28. 28

    如何在phpmyadmin中跳过表排序

  29. 29

    如何在数组中的php中使用“两个”计数器?

热门标签

归档