问题标签 [mysql-error-1075]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 是否可以有一个允许重复的 AUTO_INCREMENT 列?
我有一个有AUTO_INCREMENT
字段的表。目前,它也是一个 PRIMARY KEY。
但是,在某些情况下,我需要此AUTO_INCREMENT
列来允许重复。换句话说 - 两个不同的行可以在AUTO_INCREMENT
列内具有相同的值。这意味着有一个不是 PRIMARY KEY 的 AUTO_INCREMENT 字段。
这可能吗?
我猜不是,因为每当我尝试这样做时,都会收到此错误:
ERROR 1075 (42000) at line 130: Incorrect table definition; there can be only one auto column and it must be defined as a key
我喜欢使用 AUTO_INCREMENT 字段,因为它使我不必手动存储/递增数据库中其他地方的单独计数器。我可以插入表格并获取插入的值。但是,如果我不能有重复项,我似乎将无法使用单独的表来跟踪和手动增加该字段。
更新:作为一个快速澄清,我已经熟悉将 AUTO_INCREMENT 字段与另一个键分组,如此处所述。让我们假设这个解决方案由于数据库中的其他约束而无法工作。
mysql - mysql(innodb)外键约束问题
我在尝试为 MySql(Innodb)中的表生成外键时遇到了几个问题。你能帮帮我吗?
参考表:
我需要表 C 中的 2 个外键,因为在删除相应实体或相应用户时必须删除 C 中的条目。
当我尝试创建表 CI 时遇到错误:ERROR 1005: Can't create table (errno: 150)。我怀疑这是因为我没有遵守 mysql 规范中规定的规则。 http://dev.mysql.com/doc/refman/5.4/en/innodb-foreign-key-constraints.html
规范的以下部分/规则是什么意思?
“InnoDB 需要在外键和引用键上建立索引,以便外键检查可以快速且不需要表扫描。在引用表中,必须有一个索引,其中外键列按相同顺序列为第一列。”
是不是说C表的外键需要和实体表和用户表的主键对应,这样实体表的ENTITYID必须在主键的第一位,而用户表的NAME必须在主键的第一位。换句话说,我的主键声明应该重写如下吗?
如果是这样,当我尝试重新排序上述键声明时,我遇到错误 1075。“表定义不正确,只能有一个自动列,并且必须将其定义为键。”
如何使自动递增键(代理键)在索引顺序列表中排在第二位,以便我符合规范?
谢谢 !
mysql - 删除 MySQL 中的主键
我有以下表模式,它将 user_customers 映射到实时 MySQL 数据库的权限:
我想删除 user_customer_id 和 permission_id 的主键并保留 id 的主键。
当我运行命令时:
我收到以下错误:
如何删除列的主键?
mysql - mysql,alter column删除主键和自动增量
我正在将我的 mysql 数据库表从 id(自动)更改为 uid。
这是我得到的错误..
据我所知,我需要将 id 更改为非自动增量,因为我将其作为主键删除。?更改列以删除主键并自动递增的语法是什么?
mysql - 自动增量列
我想在数据库表中创建一个 AUTO_INCREMENT 列,这是我编写的语法:
我收到以下错误:
ERROR 1075 (42000):表定义不正确;只能有一个自动列,并且必须将其定义为键
然后我把它作为主键:
我收到以下错误:
ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'primary_key auto_increment,name varchar(20),mail varchar(30),comment varchar(100' 附近使用正确的语法
怎么了???
mysql - 如何在mysql中设计一个带有两个auto_increment字段的表
对于一个项目,我们目前进行数据库设计。我们认为我们应该在一张表中使用两个 auto_increment 字段。
表主:
要从备用的 auto_incremet 开始,您可以使用ALTER TABLE tbl AUTO_INCREMENT = 100000;
这仅适用于整个表 'tbl'。pid 的 auto_increment 应为 50000000,iid 的 auto_increment 应为 80000000
我们希望避免将其拆分为 3 个关系为 master -> table.pid 和 master -> table.iid 的表。
改变桌子不起作用的原因
/* SQL Error (1075): Incorrect table definition; there can be only one auto column and it must be defined as a key */
有可能还是您推荐什么替代方案?
java - 将 Java(Spring、Hibernate、MySql)项目从 Windows 迁移到 Debian
我正在 Windows (IntelliJIdea) 上编写项目,一切正常。它编译并运行。但是当我尝试在 Debian(GNU/Linux 5.0) 上运行时,我有
SEVERE: Access denied for user 'root'@'localhost' (using password: YES)
[java] 30.11.2010 15:39:04 org.hibernate.cfg.SettingsFactory buildSettings
[java] WARNING: Could not obtain connection to query metadata
[java] java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
[java] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
[java] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)
[java] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)
[java] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919)
我使用这样的 Spring 配置:
java - 在 Debian(MySQL)上午餐 Java 应用程序(Spring,Hibernate)的问题
</bean id="mySqlDataSource" > class="org.springframework.jdbc.datasource.DriverManagerDataSource">
在我的 Spring 配置之上,为什么我的应用程序抛出:
以及 Windows 上的任何问题(!!!
mysql - 将 MySQL 字段 uid 设置为 auto_increment
出于某种原因,当我尝试将我的 uid 设置为 auto_increment 时,我不断收到以下错误。我正在使用 phpMyAdmin。
我的数据库中还有其他一些表,它们最初的索引为 auto_increment,但我将所有这些列都更改为 uid varchar。但是现在我要添加一个名为 ITEMS 的表,并且我希望 uid 成为我可以用作所有其他表的参考点的“主”键。
mysql - 自动增量 ID 和关键问题 (MySQL)
我有桌子,我试图添加
餐桌,但我得到
所以问题是:
- 我怎样才能找到哪一个是关键列
- 我可以毫无问题地更改它并添加新的 ID 字段(使用自动增量)吗?