問題タブ [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
ただし、重複を許可するためにこの列が必要な場合があります。つまり、2 つの異なる行が列内で同じ値を持つことができ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 のエントリを削除する必要があるため、テーブル C に 2 つの外部キーが必要です。
テーブル 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 が発生します。
自動インクリメント キー (サロゲート キー) をインデックス順リストの 2 番目にして、仕様に準拠するにはどうすればよいですか?
ありがとうございました !
mysql - MySQLで主キーを削除する
user_customersをライブMySQLデータベースの権限にマップする次のテーブルスキーマがあります。
user_customer_idとpermission_idの主キーを削除し、idの主キーを保持したいと思います。
コマンドを実行すると:
次のエラーが発生します。
列の主キーを削除するにはどうすればよいですか?
mysql - mysql、列を変更して主キーを削除し、自動インクリメント
mysql db テーブルを id (auto) から uid に変更しています。
これは私が得るエラーです..
ID を主キーとして削除するため、ID を非自動インクリメントに変更する必要があることは理解しています。列を変更して主キーと自動インクリメントを削除する構文は何ですか?
mysql - 自動インクリメント列
データベーステーブルにAUTO_INCREMENT列を作成したいのですが、次の構文を記述します。
そして、私は次のエラーを受け取ります:
エラー1075(42000):テーブル定義が正しくありません。自動列は1つしか存在できず、キーとして定義する必要があります
それから私はそれを主キーとして作りました:
そして、私は次のエラーを受け取ります:
エラー1064(42000):SQL構文にエラーがあります。'primary_key auto_increment、name varchar(20)、mail varchar(30)、comment varchar(100'の1行目で使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。
なにが問題ですか???
mysql - 2 つの auto_increment フィールドを持つ mysql でテーブルを設計する方法
プロジェクトでは、現在データベースの設計を行っています。1 つのテーブルで 2 つの auto_increment フィールドを使用する必要があると考えています。
テーブルマスター:
代替の auto_incremet を使用して開始するには、これを使用できますALTER TABLE tbl AUTO_INCREMENT = 100000;
。これは、テーブル 'tbl' 全体に対してのみ機能します。pid の auto_increment は 50000000、iid の auto_increment は 80000000 にする必要があります。
master -> table.pid と master -> table.iid の関係で 3 つのテーブルに分割することは避けたいと考えています。
テーブルの変更が機能しない原因
/* 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としてインデックスが設定されていた他のテーブルがいくつかありましたが、それらすべての列をuidvarcharに変更しました。しかし今、私はITEMSという名前のテーブルを追加しており、uidを、他のすべてのテーブルへの参照ポイントとして使用できる「マスター」キーにしたいのです。
mysql - 自動インクリメント ID とキーの問題 (MySQL)
テーブルがあり、追加しようとしました
テーブルに
質問は次のとおりです。
- キー列を見つける方法
- 問題なく変更でき、新しい ID フィールドを追加できますか (オートインクリメント付き)?