如何在Mysql数据库表中识别复合主键?或
编辑2应该使用什么sql查询来显示包含复合主键的表的索引?
我在mysql数据库中有许多表,它们的复合键为2或3个主键,我使用phpmyadmin,我必须编写php脚本来识别哪个表有复合键,现在我可以使用查询来识别表的主键。
SHOW INDEXES FROM `".$row3['TABLE_NAME']."` WHERE Key_name = 'PRIMARY'
这给了我我想要的东西,但是现在我怎样才能找到我有复合键的索引呢?
编辑1
在Daniel上下文中的注释用于phpmyadmin中复合主键
PHPMyAdmin刚刚被我的服务器管理员升级为v4.0.4.2。
现在,我无法编辑下表中的行:
CREATE TABLE IF NOT EXISTS `product_options` (
`product_id` int(10) NOT NULL,
`option_id` int(10) NOT NULL,
KEY `product_id` (`product_id`,`option_id`)
)
当我浏览表中的数据时,PHPMyAdmin只返回此错误消息:
This table does not contain a unique column. Grid edit, chec
任何人都知道是否可以通过连接两个(mysql)表来编辑PHPMyAdmin中的数据:
SELECT * , pl.name
FROM product p
JOIN product_language pl ON p.product_id = pl.product_id
AND pl.lang_id =4
ORDER BY p.product_id
LIMIT 0 , 30
如果我只选择一个表,我可以编辑其中的数据没有问题,但当我连接两个表时,我就不能。都会很感谢你的帮助。谢谢!
我不是MySQL的专家,在没有找到解决方案的情况下,我搜索了很多关于以下问题的内容。
因此,我使用了一个具有以下结构的MySQL表:
CREATE TABLE photos (
file varchar(30) NOT NULL default "",
place tinytext NOT NULL default "",
description tinytext NOT NULL default "",
type char(1) NOT NULL default "",
taken year NOT NULL
我使用MySQL工作台准备数据库布局,并使用phpMyAdmin将其导出到数据库。在查看一张表时,我收到了以下警告:
不应同时为列gid设置主键和索引键
gid是一个外部索引,它是不同表的主键,也是当前表的主键的一部分。所以我把它作为主键的一部分,Workbench为外键条目创建了一个索引。那么,为什么会出现这种警告,我应该忽略它,还是应该重新考虑我的数据库布局呢?
这是一个非常简单的使用结构示例,它生成警告:
CREATE TABLE IF NOT EXISTS `test_groups` (
`gid` INT NOT NULL ,
`gname` VARCHAR(45)
没有明显的理由(对我来说)我不能再对MySQL中的表进行更新了。版本是:
mysql Ver 15.1 Distrib 10.0.29-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
我所做的是:将一个新表添加到现有的数据库中。这张桌子是这样的:
CREATE TABLE `drawdata` (
`year` int(11) NOT NULL,
`left1` varchar(40) NOT NULL,
`left2` varchar(40) NOT NULL,
...
...
`left31` v
如何在MySQL工作台模式部分查看在phpmyadmin中创建的数据库/表?在我的例子中,在phpmyadmin中创建的数据库没有反映在workbench(v-6.3)和mysql server v-5.7.12中。我如何检查使用的phpmyadmin是否反映了正确的工作台。
我在本地运行phpmyadmin (XAMPP 5.6.20-0),并使用Mac OS X El-capitan。import only选项是否将在phpmyadmin中创建的所有数据库/表复制到MySQL中,反之亦然?
我看到了三种定义主键的方法。
定义及其列名定义:
创建表测试( id INT无符号AUTO_INCREMENT主键-其他字段);
在表定义的末尾定义键:
创建表测试( id INT无符号非空AUTO_INCREMENT,-其他字段-主键(id) );
在创建表后添加主键索引。通常,我在phpMyAdmin的导出.sql文件中看到了这种情况。(这取决于使用的存储引擎吗?)
创建表测试( id INT无符号NULL,--其他字段);ALTER测试添加主键( id ),修改id INT无符号非空AUTO_INCREMENT;
所有这些方法之间的内在区别是什么?
大多数情况下,我已经看到导入具有第三个
我试图用phpmyadmin(v4.7.9)在MYSQL中创建一个存储过程(v5.7.21),有时会返回一个空的结果集。
CREATE DEFINER=`my_database`@`%` PROCEDURE `emptytest`(IN `_id` INT(11))
NOT DETERMINISTIC NO SQL SQL SECURITY DEFINER
select * from my_table where id=_id
下一个电话是:
call emptytest(1);
当该id存在于表中时,此方法工作得很好:
id name
--------
1 bob
但在没有行可
我有两张多语种文章的桌子。在第一个表中,我没有文本列(id、authorid、date等)。在第二个表中,我有文本列(标题、内容等)。
对于第一个表中的每一行,我可以在第二个表中有许多行。例如,对于被翻译成三种语言的文章,表2中有三行。
在表2中,列(Id)有表1的外键,这就是为什么它已经被索引了。我不能为表2唯一设置列id,因为它显然不是唯一的。但是,我不能像它所说的那样在工作台中编辑表2中的数据--没有主键或非空唯一键。
我在计划中所说的话:
Table1{
id
date
authorId
}
Table2{
id
title
content
languageId
}
所
我希望有人能帮我这个忙。我正在将一个MySQL数据库(WordPress)移动到运行主主复制的MySQL集群中。当我试图将SQL导入数据库时,我会得到以下错误消息;
Plugin group_replication reported: 'Table wpmk_actionscheduler_actions does not have any PRIMARY KEY. This is not compatible with Group Replication.'
好吧,所以我知道这意味着什么,或者我认为我做到了。当我在PHPmyAdmin中检查这个表时,我可以看到这个表确实有一个
我正在使用phpmyadmin中的mysql创建一个新表。这是我得到的#1072 -键列'id‘不存在于表中的错误。
CREATE TABLE `loginsys`.`groups`(
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(20) NOT NULL,
`permission` TEXT NOT NULL,
PRIMARY KEY(`id `)
) ENGINE = InnoDB
我试图将myisam表转换为need,因为我对myisam表级别的锁感到沮丧,而且我迫切需要解决这个问题。我尝试从phpmyadmin选择引擎,从下拉到innodb,然后点击go,但是我要得到这个error.in,我的表有500万行。
SQL query: Edit Edit
ALTER TABLE `tableA`
ENGINE = InnoDB;
MySQL said: Documentation
#1071 - Specified key was too long; max key length is 767 bytes
是否可以通过一
错误消息:
You do not have privileges to manipulate with the users!
使用MariaDB10.3.7出现在PhpMyAdmin中的
我以root用户身份登录,并使用多个服务器选项重新启动:MySQL5.7、MySQL8.0、Mariadb 10.2和10.3.7。
我试过所有的方法,从授予表到刷新权限。我需要能够编辑用户从PhpMyAdmin页面,它不允许我,即使我有根访问(设置密码)