• ベストアンサー

IDENTITYをSQL文で解除する

初歩的な質問で申し訳ありません。 一度設定したIDENTITYをSQL文で解除、再設定することは可能でしょうか? CREATE TABLE hoge( column1 int identity(1,1), column2 int ) のcolumn1のIDENTITYを解除、再設定したいのですが。 アドバイスをお願いいたします。 失礼致します。

noname#213520
noname#213520

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

できないですね。 SQL Server Management Studioを使うとALTERしているようにみえますが、裏ではDROP/CREATEが行われています。

noname#213520
質問者

お礼

アドバイスありがとうございました。 やりたいことは、INSERTするときのIDが指定できればよかったので、 応急処置で下のようなSQLを作りました。 CREATE TABLE hoge( column1 int identity(1,1), column2 int ) /* para1 割り振りたいID */ DELETE FROM hoge WHERE column1 = para1 DBCC CHECKIDENT ('hoge', RESEED, para1 - 1 ) INSERT INTO hoge(column2)VALUES(para2) 下のSQLと同じ意味 INSERT INTO hoge(column1, column2)VALUES(para1,para2) 一応、動くようですが。。何回か試してみます。 ありがとうございました。

関連するQ&A

  • IDENTITYを設定

    Microsoft SQL Server Management Studioを使っています。 テーブル追加時にIDENTITYの設定方法は 載っていたのですが、すでにあるカラムに対して はありませんでした。 すでにあるカラムにIDENTITYの設定方法を教えて下さい。

  • SQL文を教えてください

    以下のようなテーブルがあります。 IDとnameは複合ユニークキーとなっています。 ID | name 1 | foo 2 | foo 1 | bar 3 | foo 2 | hoge 3 | bar このテーブルから、nameにfooとbar両方を持つIDを抜き出すSQL文が分からずに困っています。 つまり、fooとbarで検索するとID 1とID 3が、fooとhogeで検索するとID 2がヒットするようなSQL文を知りたいのです。 初歩的な質問なのかもしれませんが、どうしてもSQL文が思いつかず大変困っています。 どうぞよろしくお願いします。

    • ベストアンサー
    • MySQL
  • AccessのテーブルをSQL文にしたい

    urizakaです。 さて、今回質問したいのは、Accessで作ったテーブルをSQL文にする方法です。 具体的には、ACCESSで作ったテーブルを、 CREATE TABLE ××× (              ) INSERT… というSQL文にしたいのですが、これはどうすれば良いのでしょうか? すみませんが、教えてください。            

  • データベースのSQL文のprcpは何の略でしょうか

    CREATE TABLE weather ( city varchar(80), temp_lo int, temp_hi int, prcp real, date date ); において temp_loはtemperature low temp_hiはtemperature high ところがprcpは何の略なのか分かりません データベースのSQL文のprcpは何の略でしょうか よろしくお願いします

  • ストアドプロシージャに複数のSQL文を書く

    いつもお世話になります。 OS:Windows XP SQL Server2005 ExpressEditionです。 テーブル名:testTable 列 :(1)number(intで主キーで自動採番)(2)name(nvarchar(50)) ストアドプロシージャを以下のSQL文で作成しました。 insert into testTable (name) values(''); update testTable set name = ltrim(str(SCOPE_IDENTITY())) + '_table' where number=SCOPE_IDENTITY(); (説明) インサート文;(セミコロンを打っています) アップデート文;(セミコロンを打っています) なぜこんなことをするかと言いますと、 自動採番で取得した番号を列:nameの内容の一部にしたいためです。 つまり、列:numberが12で採番されたとすると列:nameは 12_table と したいためです。 ltrimをかけていますのは、str(SCOPE_IDENTITY())の結果、数値の左 に空白が入ってしまうためです。(intのバイト数ほどでしょうか) 想定どおりの値がnameに入っております。 しかしこれは邪道ではないかと危惧しております。 よろしくご教授をお願いいたします。

  • phpMyAdminのSQLで、SQL文を登録が

     phpMyAdminのSQLで SQL文を登録するため、以下のエラーメッセージの中にあるCREATE DATABASE xmas;で始まる  SQL文を実行したところ、以下のエラーメッセージがでて、登録でできずに困っています。  どうしたら登録できますか!?    宜しくお願いします。    エラー 実行した SQL: CREATE DATABASE xmas; MySQL のメッセージ: ドキュメント #1007 - Can't create database 'xmas'; database exists サーバ "127.0.0.1" 上でクエリを実行する: ドキュメント CREATE DATABASE xmas; USE xmas; CREATE TABLE xmastran ( book_id int not null auto_increment, name varchar(30) not null default '' , org varchar(50) not null default '', addr varchar(80) not null default'', tel verchar(20 default '', mail varchar(40) default '', course varchar(30) default '', nums integer default 0, PRIMARY KEP (book_id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

    • ベストアンサー
    • MySQL
  • SQL文でテーブル作成 Access2002

    MySQLで create table testm ( key1 char(008) primary key, data1 int8, data2 int8, data3 int8 ) type=InnoDB; という風なSQLでテーブルを作成したりしますが Accessでは無理なのでしょうか? よろしくお願いします。

  • SQL文で既定値の記述

    以下のようなSQL文で CREATE TABLE Test Mykey Varchar(50) この Mykey の既定値を(仮に)"abcd" などと指定するにはどのように記述したらよいのでしょうか

  • SQL文にて順位表をつくりたい

    create table team(team_id int not null primary key,team_name varchar(30),year int(4), leagueid int(32) ); insert into team values(1,"A",2012,1),(2,"B",2012,1),(3,"C",2012,1),(4,"D",2012,1),(5,"A",2012,2),(6,"B",2012,2),(7,"C",2012,2),(8,"D",2012,2),(9,"A",2011,1),(10,"B",2011,1),(11,"C",2011,1),(12,"D",2011,1); create table taisen(id int not null primary key auto_increment,hometeam int,homepoint int,awayteam int,awaypoint int); insert into taisen (hometeam,homepoint,awayteam,awaypoint) values(1,3,2,2),(3,1,4,0),(1,0,3,2),(2,2,4,2),(1,1,4,2),(2,0,3,0),(2,1,1,2),(4,1,3,3),(3,5,1,2),(5,3,6,3),(5,1,7,1),(7,1,8,1),(9,1,10,1),(11,1,12,3); データベース内にデータがあったときに年やleague_idごとに順位表を作りたいのですが、どのようにSQL文を書いてよいかわからず困っています。 理想はこのような感じです。 http://soccer.yahoo.co.jp/ws/standing/?l=52 お分かりの方がいらっしゃいましたらご教授お願いいたします。

    • ベストアンサー
    • MySQL
  • identityの値の変更/自動更新について

    MySQLからWindowAzureに移行しています。 1.identityが設定されている値の変更 auto_incrementが使えないようなので、identityを使用して下記のテーブルを作成しました。 ですが、identityだと更新ができないので困っています。 CREATE TABLE test ( id int NOT NULL identity, text nvarchar(255) NOT NULL, PRIMARY KEY (id), ); データの追加に関しては、IDENTITY_INSERTをONにすることでできますが、更新時はどうすればよいでしょうか? データの追加の場合は、使用の際上記のように、毎回ONにする必要がありますか?(DB接続時にONにしてしまえばよい/テーブル作成時に記述で可能ではない?) 複数個所から更新をするので、すべての箇所に記述するのは可能な限りしたくありません。 2.データの自動更新 テーブルを更新した際に、データを自動で更新したいのですが、mysqlでは on update で可能ですが、 SQLAzureでは、下記のSQLをどのように記述すればよいでしょうか? create table time( id int not null, time1 datetime NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY(id) ); よろしくお願いします。