重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
SELECT
创新互联-专业网站定制、快速模板网站建设、高性价比头屯河网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式头屯河网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖头屯河地区。费用合理售后完善,十余年实体公司更值得信赖。
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)
楼主用的什么样的客户端程序?不同的客户端程序查看的方式可能不一样。我用Navicat。选择表后点右键---选择设计表,在字段后面有个黄色的钥匙,那个字段就是主键。
尽管客户端不同,但查看应该都是在设计表中。
在SYBASE的ASE和ASA中,可以使用如下的系统存储过程来获取主键:
exec
sp_pkeys
'table_name';
sql
server也是一样的!
至于mysql,我没这个环境,相信应该有类似的存储过程的!
知道字段名吗?
第一,查出主键名,
第二,使用主键来select.
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';
1查询主键 存在与否 如果存在count值为1 不存在count值为0
select count(*) PrimaryNum
from INFORMATION_SCHEMA.KEY_COLUMN_USAGE t
where t.TABLE_NAME ='test'
如果结果 = 1,则表示有主键。
2删除存在的主键
alter table test drop primary key;
3.创建主键
alter table test add primary key(id);
describe table name
sample
mysql describe shop ;
+---------+--------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------------------+------+-----+---------+-------+
| article | int(4) unsigned zerofill | NO | PRI | 0000 | |
| dealer | char(20) | NO | PRI | | |
| price | double(16,0) | NO | MUL | 0 | |
+---------+--------------------------+------+-----+---------+-------+
3 rows in set (0.00 sec)