[解決済み] Sql サーバーエラー : INSERT 文は CHECK 制約と競合しています。
2022-02-19 21:23:25
質問
INSERT 文が CHECK 制約 " と競合しました。
ck_str_member_no
となります。競合が発生したのは、データベース "C:\DOCUMENTS AND SETTINGS の CourierDESKTOP の CourierKOKDB の CourierINFT3009_ASS1_C3104855.MDF", table "dbo.Members", column '.
str_member_no
'.
文は終了しました。
Visual Studio 2008 Express で .MDF ファイルを使用しています。 どのようにそれを解決すればよいですか?
私の挿入プロシージャ。
ALTER PROCEDURE [dbo].[AddNewAGCMember]
-- Add the parameters for the stored procedure here
@str_member_no varchar(6) = '',
@str_member_name varchar(50) = '',
@str_member_password varchar(10) = '',
@str_addr_apartment_no varchar(10) = NULL,
@str_addr_building_name varchar(50) = NULL,
@str_addr_street_name varchar(50) = NULL,
@int_postal_code int = NULL,
@str_country_name varchar(50) = NULL,
@int_contact_no int = NULL,
@str_email_addr varchar(100) = '',
@date_registration date = ''
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
INSERT INTO Members
(str_member_no,
str_member_name,
str_member_password,
str_addr_apartment_no,
str_addr_building_name,
str_addr_street_name,
int_postal_code,
str_country_name,
int_contact_no,
str_email_addr,
date_registration)
VALUES
(@str_member_no,
@str_member_name,
@str_member_password,
@str_addr_apartment_no,
@str_addr_building_name,
@str_addr_street_name,
@int_postal_code,
@str_country_name,
@int_contact_no,
@str_email_addr,
@date_registration);
END
テーブルの構造 :
-
str_member_no
, varchar(6), チェックなし -
str_member_name
varchar(50), チェックなし -
str_member_password
varchar(10), チェックなし -
str_addr_apartment_no
varchar(10), チェック済み -
str_addr_building_name
varchar(50), チェック済み -
str_addr_street_name
varchar(50), チェック済み -
int_postal_code
int, チェック済み -
str_country_name
varchar(50), チェック済み -
int_contact_no
int, チェック済み -
str_email_addr
varchar(100), チェックなし -
date_registration
日付, チェックなしUnchecked
解決方法は?
明らかに、あなたの挿入はチェック制約に違反しています。これは、数値が特定の範囲にあるか、文字列が最大n文字であるかなど、特定のチェックを実行するデータベース内の制約です。
チェック制約が何であるかを調べるには、次のようにしてください。
SELECT
name, definition
FROM
sys.check_constraints
WHERE
name = 'ck_str_member_no'
これで、"definition"欄にチェックされている式が表示されるようになります。
この式から、挿入が拒否された理由を特定することができるはずです。問題を解決して、もう一度挿入してください。
どうしてもデータを修正できず、そのチェック制約が必要ない/必要な場合は、それを削除することができます。
ALTER TABLE dbo.Members
DROP CONSTRAINT ck_str_member_no
マルク
関連
-
[解決済み】オペランド型の衝突:intはdateと互換性がない + INSERT文はFOREIGN KEY制約と衝突した
-
[解決済み] INSERT ステートメントが FOREIGN KEY 制約と競合する - SQL Server
-
[解決済み] ''付近の構文が正しくない
-
[解決済み] SQLクエリで2つの列から値を引き算する
-
[解決済み] SQL Server テーブルにカラムが存在するかどうかを確認する方法は?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] SQL Server にテーブルが存在するかどうかを確認する
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み] SQL ServerでINNER JOINを使用して削除するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】CREATE VIEW は、バッチ内の唯一のステートメントでなければなりません。
-
[解決済み】データベースへの「ネイティブ」SQL接続を使用するとはどういう意味ですか?
-
[解決済み】一括読み込みデータ変換エラー(指定されたコードページに対して型の不一致または無効な文字)1行目4列目(年)について)
-
[解決済み】警告。Aqua Data Studioの集約や他のSET操作でNull値が排除される。
-
[解決済み] テスト
-
[解決済み] アンピボットの主キーを含む対象コードページで、テキストが切り捨てられたか、1つ以上の文字が一致しない。
-
[解決済み] ORA-12801: 並列クエリサーバー P004 および ORA-01555 でシグナルされたエラー: スナップショットが古すぎる。
-
[解決済み] エラー (ORA-00923: 期待された場所に FROM キーワードが見つかりませんでした)
-
[解決済み] Ruby On Rails で NuoDB を使用して SQL コマンドを手動で実行する方法
-
[解決済み] ORA-00997: LONG データタイプの不正使用に対する回避策