ホーム › フォーラム › A5:SQL Mk-2掲示板 › Excelからコピーしたデータを貼り付ける際の挙動について
- このトピックには13件の返信、1人の参加者があり、最後に
KZにより1ヶ月、 4週前に更新されました。
-
投稿者投稿
-
KZ
ゲストいつもお世話になっております。
【int default 0 not null】のカラムに対し、
Excelから空文字のデータをコピペすると、「フィールド’○○’の値が必要です」というメッセージが出ます。希望する挙動は、以下の通りなのですが設定等で実現可能でしょうか。
・空文字をコピペ・・・テーブルに空文字を反映
・NULLを表す文字列(« NULL »)をコピペ・・・デフォルト値が設定されているのであればデフォルト値を反映、
設定されていなければ« NULL »を反映以上、お手数をおかけしますが、よろしくお願いいたします。
KZ
ゲスト【追記】
利用しているバージョンは2.19.2(X64 edition)[build:2024/06/23]です。松原正和
キーマスターKZ さんこんにちは。返事が遅くなり申し訳ありません。
DB製品は何をお使いでしょうか? 手元で試したところ、PostgreSQL, MySQLについては空の文字列を張り付けることでデフォルト値で挿入されるようでした。
KZ
ゲストお世話になっております。
ご確認いただきありがとうございます。
Microsoft SQL Serverを利用しております。松原正和
キーマスターKZさんこんにちは。
お返事が遅くなり申し訳ありません。こちらの環境(Docker 版の SQL Server 2019を使用)では再現しませんでした。デフォルト値で挿入されるようでした。
貼り付けを行うと、該当カラムは一見、NULLが設定されたように表示されますが、再読み込みすると実際に設定された値が表示されます。KZ
ゲストお世話になっております。
お忙しいところ検証いただきありがとうございます。
再現しなかったとのこと、承知いたしました。もし、Excelから貼り付ける際の挙動に関連する設定項目があれば
ご教示いただけますと幸いです。松原正和
キーマスターKZさんこんにちは。
Excel からの貼り付けに対するオプションは現状ありません。
KZさんのお使いのバージョンはいくつでしょうか?KZ
ゲストお世話になっております。
Microsoft SQL Server 2019 Express Edition (15.0.2095.3) を使用しています。松原正和
キーマスターKZさんこんにちは。
すみません。A5:SQL Mk-2 のバージョンはおいくつでしょうか?KZ
ゲスト失礼いたしました。
2.19.2(X64 edition)[build:2024/06/23]です。松原正和
キーマスターKZ さんこんにちは。
こちらでは SQL Server 2019 に(ODBCなどを使わず)専用接続を使って試したのですが、特段何の設定をしなくとも、「« NULL »」の値を指定するとデフォルト値が入る挙動でした。
空文字列を指定した場合は、データ型が文字列ですと空文字列が入りますが、int の場合は、エラーになるようでした。(空文字は入れようがないので)
-
この返信は2ヶ月、 1週前に
松原正和が編集しました。
KZ
ゲストお世話になっております。
不勉強で大変恐縮ですが、以下の認識のもとで確認しております。
3.の列定義に対してExcelから空文字のデータをコピー&ペーストした際に、
「フィールド’○○’の値が必要です」というメッセージが表示されるのは、どのような原因が考えられるでしょうか。私の認識↓↓
●列定義が「int default 0 not null」の場合
1.数値型のため、空文字列の指定は不可。
2.NOT NULLの制約により、「NULL」の値も指定できない。
→この場合、デフォルト値(0)または任意の数値を指定する必要がある。●列定義が「nvarchar(max) default ” not null」の場合
3.文字列型のため、空文字列(”)の指定は可能。
4.NOT NULLの制約により、「NULL」の値は指定できない。松原正和
キーマスターKZ さんこんにちは。
「フィールド’○○’の値が必要です」というのは、A5:SQL Mk-2側(というか開発環境のDelphi側の仕様)で NOT NULL の項目に値が指定されなかった場合、DBに INSERT する前に事前チェックで出力するエラーです。
ただし、デフォルト値が指定されている場合は、このエラーが出ないように設定しているのですが、Version 2.19系ではデータ型によってはエラーが出てしまうようです。(TIMESTAMPで試していたのですが、こちらはエラーメッセージが出なかったようですが、varcharやintだと出てしまうようです)
Version 2.20系ではどのデータ型でも、デフォルト値が設定されている場合は、「フィールド’○○’の値が必要です」が出ないようになっているはずなので、こちらをお試しいただくと直るかもしれません。KZ
ゲストご教示いただきありがとうございます。
A5:SQL Mk-2 x64 Version 2.20.1 <Portable>
を試してみましたが、
変わらず「フィールド’○○’の値が必要です」が出てしまいました・・・ -
この返信は2ヶ月、 1週前に
-
投稿者投稿