草庐IT

mysql - 如何编写 SQL 查询来检测重复的主键?

假设我想改变表,使我的主键如下user_id,round,tournament_id目前有重复项需要清理。查找所有重复项的查询是什么?这是针对MySQL的,我希望看到重复的行 最佳答案 从技术上讲,您不需要这样的查询;任何有值(value)的RDBMS都不允许插入会在表中产生重复主键的行。这样的事情违反了主键的定义。但是,如果您希望在将主键应用到包含这些列的表之前编写查询来查找这些列组的重复项,那么这就是您想要的:selectt.user_id,t.round,t.tournament_idfromtableastgroupbyt.

mysql - 从所有表中具有相同主键的多个表中获取数据

我有4个表都具有相同的主键,结构如下:table_1:u_id|col1|col2table_2:u_id|col3|col4table_3:u_id|col5|col6table_4:u_id|col7|col8我想获取"col1","col4","col6"and"col7"的数据基于u_id的值.u_id的值每张表都一样。例如。如果u_id='8',然后获取所有指定的列值,其中u_id='8'.我想我没有正确使用连接。谢谢。 最佳答案 这应该很简单。使用INNERJOINSELECTa.col1,b.col4,c.col6,d

mysql - 使用自增主键插入记录

我在phpMyAdmin中创建了一个MySQL数据库,它有一个自动递增的主键ID。在phpMyAdmin中,我可以通过INSERTINTOMyTableVALUES(null,1,2,3)插入记录,空位置用于ID。将数据库数据加载到Delphi应用程序中(连接->表或查询->DataSetProvider->ClientDataSet->DataSource->DBGrid和DBNavigator),如何在不手动输入ID值的情况下插入记录?如果我没有在ID字段中输入数字,则会出现错误。 最佳答案 将字段的Required属性设置为f

mysql - 可以将非顺序 ID 作为数据库中表的主键吗?

我对数据库的了解还不够,找不到合适的词来问这个问题,所以让我举个例子来解释我正在尝试做的事情:假设我想要一个表的主键是一个ID我从一个API中获取,但大多数API请求都会导致404错误。结果,我的表​​看起来像这样:我也不知道如何在StackOverflow上格式化类似表格的结构,所以这将是一个粗略的视觉效果:API_ID_PK|name------------------1|Billy5|Timmy23|Richard54|Jobert104|BroccoliID可以不用1位顺序分隔吗?或者我应该这样做:IDPK|API_ID|NAME------------------------

mysql - 一次检索数据库中所有表的 MAX 主键值

我需要做的是一次检索数据库中所有表的最大主键吗?也就是说,如果我执行以下2个查询,我的结果将是这样的:SHOWTABLESFROMDATABASE_NAMESELECTMAX(PRIMARY_KEY)ASmaxIdFROMTABLE也就是(firstcolumn=TableName,secondcolumn=MAX(PK)Ofthattable)如果我做错了什么,请原谅。我只是不想写80个查询,因为我的数据库有80个表。 最佳答案 如果(且仅当)您的主键是AUTOINCREMENT变量,您可以这样做:SELECTTABLE_NAME

php - GROUP BY 外键还是主键?

我有两个表:user=======idnameclassmarks=======iduser_idsub_idmark用户表包含用户(学生)的详细信息marks表包含一个学生在不同科目中的分数,带有subjectid我想从这些表中获取姓名、类(class)和总分。我有两个问题:1.SELECTname,class,SUM(mark)AStotalFROMuserLEFTJOINmarksONmarks.user_id=user.idGROUPBYmarks.user_id///HereinGROUPBYIhaveusedforeignkey(marks.user_id)2.SELECT

php - Laravel - 多主键

我是Laravel框架的新手,我也尝试用2个外键创建表,我希望它们成为这个表中的主要对象。但是我写phpartisanmigrate的时候报错SQLSTATE[42000]:语法错误或访问冲突:1068多个主键y已定义(SQL:altertabledoc_tag添加主键doc_tag_id_tag_primary(id_tag)Schema::create('doc_tag',function(Blueprint$table){$table->integer('id_doc')->unsigned();$table->primary('id_doc');$table->foreign(

MySql 自动递增字母数字主键?

这在MySql中可能吗?我可以有一个自动递增的主键,以字母为前缀,比如R1234、R1235、R1236...等等吗?? 最佳答案 您可以将key存储为两列。一个char前缀和一个自动递增的int,它们都被分组为主键。CREATETABLEmyItems(idINTNOTNULLAUTO_INCREMENT,prefixCHAR(30)NOTNULL,PRIMARYKEY(id,prefix),... 关于MySql自动递增字母数字主键?,我们在StackOverflow上找到一个类似的

mysql - MySQL是否需要多对多链接表的主键?

致Mod的注意事项:我通读了大约十二篇似乎与此问题有关的帖子,但没有一篇回答了我的问题。请不要标记此帖子以供删除;这不是一个重复的问题。我正在为将包含多对多关系的网络画廊构建数据库。例如,标签和图像。显然,要完成此操作,将创建第三个链接表。我可以看到在标签表和图像表中使用主键列的用途,但我无法想象它在链接表中的用途。它只会占用服务器空间。所以,我正在考虑在链接表中没有主键列。MySQL允许吗?或者,是否有任何令人信服的理由在链接表中有一个主键?谢谢。链接表:+--------------+---------+-----------+|primarykey?|tagids|imageid

php - 你如何使用 BIGINT 作为 Laravel 4 中的自动递增主键

我正在尝试模仿wordpress'primarykeysize这是BIGINT(20)但似乎laravel没有native函数来执行此操作。我看到了pageinthelaravelforums并得到这样的代码:$table->bigInteger('id')->primary();但是当我在artisanmigrate期间尝试将外键附加到该id时,会抛出一个MYSQL错误:[Exception]SQLSTATE[HY000]:Generalerror:1005Can'tcreatetable'db.#sql-1730_15'(errno:150)(SQL:altertableusers