質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

4回答

3243閲覧

SQL文で NOT NULL AUTO_INCREMENT, で10000から始める事は出来ないのでしょうか?

moitaro

総合スコア443

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

1クリップ

投稿2016/08/05 02:51

お世話になっております。

下記のテーブルがあり

sql

1CREATE TABLE users ( 2 email varchar(255) NOT NULL, 3 LASTNAME varchar(255), 4 FAMILYNAME varchar(255), 5 users_id int(8) NOT NULL AUTO_INCREMENT, 6 primary key(users_id) 7);

users_idを100000から始める必要が出てきて調べて

sql

1CREATE TABLE users ( 2 email varchar(255) NOT NULL, 3 LASTNAME varchar(255), 4 FAMILYNAME varchar(255), 5 users_id int(8) NOT NULL AUTO_INCREMENT DEFAULT 10000, 6 primary key(users_id) 7); 8

とやっても

#1067 - Invalid default value for 'users_id'

とエラーでした。

この場合どのように表記すれば良いのか伺ってよろしいでしょうか?

以上 お問い合わせ致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

AUTO_INCREMENTを設定したカラムにはDEFAULTは設定できないので、

SQL

1CREATE TABLE users ( 2 email varchar(255) NOT NULL, 3 LASTNAME varchar(255), 4 FAMILYNAME varchar(255), 5 users_id int(8) NOT NULL AUTO_INCREMENT, 6 primary key(users_id) 7)AUTO_INCREMENT=100000;

のように定義するのだったと思います。

投稿2016/08/05 03:04

imutakaoru

総合スコア356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

1 以外の AUTO_INCREMENT 値で開始するには、次のように、その値を CREATE TABLE または ALTER TABLE でセットします。 mysql> ALTER TABLE tbl AUTO_INCREMENT = 100;

マニュアルより。
https://dev.mysql.com/doc/refman/5.6/ja/example-auto-increment.html

投稿2016/08/05 02:58

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

開始位置は以下のように指定します。

SQL

1CREATE TABLE users ( 2 email varchar(255) NOT NULL, 3 LASTNAME varchar(255), 4 FAMILYNAME varchar(255), 5 users_id int(8) NOT NULL AUTO_INCREMENT, 6 primary key(users_id) 7) AUTO_INCREMENT=10000;

投稿2016/08/05 02:56

dupont_kedama

総合スコア925

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

CREATE TABLEのカッコより後に、AUTO_INCREMENT = 10000のように指定します。

投稿2016/08/05 02:54

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

moitaro

2016/08/05 05:15

皆様コメントありがとうございます。 CREATE TABLE users ( email varchar(255) NOT NULL, LASTNAME varchar(255), FAMILYNAME varchar(255), users_id int(8) NOT NULL AUTO_INCREMENT, primary key(users_id) ) AUTO_INCREMENT=10000; で想定した動作が出来ました。 本当に助かりました。 以上 ご連絡いたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問