mysql怎么取主键名 MySQL的主键

MYSQL查询表的主键

SELECT

做网站、成都网站制作,成都做网站公司-创新互联已向上1000+企业提供了,网站设计,网站制作,网络营销等服务!设计与技术结合,多年网站推广经验,合理的价格为您打造企业品质网站。

t.TABLE_NAME,

t.CONSTRAINT_TYPE,

c.COLUMN_NAME,

c.ORDINAL_POSITION

FROM

INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t,

INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c

WHERE

t.TABLE_NAME = c.TABLE_NAME

AND t.TABLE_SCHEMA = 'test'

AND t.CONSTRAINT_TYPE = 'PRIMARY KEY';

测试执行结果如下:

mysql SELECT

- t.TABLE_NAME,

- t.CONSTRAINT_TYPE,

- c.COLUMN_NAME,

- c.ORDINAL_POSITION

- FROM

- INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t,

- INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS c

- WHERE

- t.TABLE_NAME = c.TABLE_NAME

- AND t.TABLE_SCHEMA = 'test'

- AND t.CONSTRAINT_TYPE = 'PRIMARY KEY'

- LIMIT 3;

+------------+-----------------+-------------+------------------+

| TABLE_NAME | CONSTRAINT_TYPE | COLUMN_NAME | ORDINAL_POSITION |

+------------+-----------------+-------------+------------------+

| mr_dept | PRIMARY KEY | dept_id | 1 |

| order | PRIMARY KEY | id | 1 |

| tab | PRIMARY KEY | id | 1 |

+------------+-----------------+-------------+------------------+

3 rows in set (0.06 sec)

在MySQL中如何设置主键和外键

工具/原料

电脑  MySQL

方法/步骤

设置主键:

1、通过终端进入到mysql命令行工具。

2、通过use关键字进行到目标数据库里。

3、如原表已有主键,先把原来的主键删除掉,通过DROPPRIMARYKEY命令:ALTERTABLE`jingyan`DROPPRIMARYKEY;。

4、主键已经没有了。

5、通过命令:ADDPRIMARYKEY来添加ALTERTABLE`jingyan`ADDPRIMARYKEY(`id`)。

6、输入后按下回车键即可看到queryok执行成功的字符。

7、回到数据库的可视化工具,即可显示现在的表在id列上添加了主键了。

设置外键:

1、创建好主从表。

2、选择主表,点击设计表,进入到表设计界面。

3、点击外键,进入到外键设置界面。

4、先设置外键名称和选择主表的外键字段。

5、然后在设置外键字段对应从表的数据库、表名和字。

6、点击保存就完成外键设置了。

mysql batchinsert怎么获取主键id

1. SELECT MAX(id) FROM tablename;

2. LAST_INSERT_ID() 函数

LAST_INSERT_ID 是与table无关的,与你最近一个插入数据的表有关。如果向表a插入数据后,再向表b插入数据,LAST_INSERT_ID会改变。

在多用户交替插入数据的情况下MAX(id)显然不能用。这时就该使用LAST_INSERT_ID了,因为LAST_INSERT_ID是基于Connection的,只要每个线程都使用独立的 Connection对象,LAST_INSERT_ID函数将返回该Connection对AUTO_INCREMENT列最新的insert or update 操作生成的第一个record的ID。这个值不能被其它客户端(Connection)影响,保证了你能够找回自己的 ID 而不用担心其它客户端的活动,而且不需要加锁。

使用单条INSERT语句插入多条记录, LAST_INSERT_ID返回的是列表中插入的第一条记录的id。

3. SELECT @@IDENTITY;

@@identity 是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量。一般系统定义的全局变量都是以@@开头,用户自定义变量以@开头。

比如有个表A,它的自增列是id,当向A表插入一行数据后,如果插入数据后自增列的值自动增加至101,则通过select @@identity得到的值就是101。它也是基于connection的,每个线程独立使用的。使用@@identity的前提是在进行insert操作后,执行select @@identity的时候连接没有关闭,否则得到的将是NULL值。

4. SHOW TABLE STATUS where name ="tablename";

得出的结果里边对应表名记录中有个Auto_increment字段,里边有下一个自增ID的数值。根据表自增列设置的自增量,以这个值减去自增量,就是当前该表数据记录的最大自增ID。

它也是基于connection的,每个线程独立使用的。

怎么样去得到主键的列名在MySql中

哈哈,楼主遇到我算是你有福气了,我专门为你编写了一个函数,来获取表的主键名()(可能还有更简单的方法,但我不知道)。

请看如下代码:

?php

function get_primary($host,$user,$password,$tb) //定义函数,参数分别为主机名、用户名、密码、表名(还可以加入库名,我忘了)

{

mysql_connect($host,$user,$password); //连接主机

mysql_select_db("test"); //选择库

$result=mysql_query("DESCRIBE ".$tb); //分析表

while($rows=mysql_fetch_array($result)) //遍历结果集(即所有字段情况)

{

if($rows["Key"]=="PRI") //判断相应字段主键情况,如果是主键则跳出

break;

}

return $rows["Field"]; //返回所在字段名称

}

echo get_primary("localhost","root","","te"); //调用函数

?

文章标题:mysql怎么取主键名 MySQL的主键
分享链接:https://www.cdcxhl.com/article30/hicepo.html

成都网站建设公司_创新互联,为您提供品牌网站建设微信公众号手机网站建设网站策划网站设计网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设