Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Lỗi SQL Server 1934 xảy ra trên CHÈN vào bảng với cột được tính toán PHP / PDO

Hóa ra vấn đề liên quan đến các thông số SET. Tôi đã sử dụng mã bên dưới lấy được từ Tại đây . Để xác định tùy chọn nào đã được đặt trong SQL Server Management Studio (nơi chèn hoạt động). Sau đó, đặt từng cái đó trong một tệp thực thi trước khi câu lệnh chèn của tôi khiến mọi thứ hoạt động trở lại. Tôi không cần phải giữ lại tất cả các tùy chọn, vì vậy bên dưới tôi hiển thị những tùy chọn bắt buộc để nó hoạt động.

DECLARE @options INT
SELECT @options = @@OPTIONS

PRINT @options
IF ( (1 & @options) = 1 ) PRINT 'DISABLE_DEF_CNST_CHK' 
IF ( (2 & @options) = 2 ) PRINT 'IMPLICIT_TRANSACTIONS' 
IF ( (4 & @options) = 4 ) PRINT 'CURSOR_CLOSE_ON_COMMIT' 
IF ( (8 & @options) = 8 ) PRINT 'ANSI_WARNINGS' 
IF ( (16 & @options) = 16 ) PRINT 'ANSI_PADDING' 
IF ( (32 & @options) = 32 ) PRINT 'ANSI_NULLS' 
IF ( (64 & @options) = 64 ) PRINT 'ARITHABORT' 
IF ( (128 & @options) = 128 ) PRINT 'ARITHIGNORE'
IF ( (256 & @options) = 256 ) PRINT 'QUOTED_IDENTIFIER' 
IF ( (512 & @options) = 512 ) PRINT 'NOCOUNT' 
IF ( (1024 & @options) = 1024 ) PRINT 'ANSI_NULL_DFLT_ON' 
IF ( (2048 & @options) = 2048 ) PRINT 'ANSI_NULL_DFLT_OFF' 
IF ( (4096 & @options) = 4096 ) PRINT 'CONCAT_NULL_YIELDS_NULL' 
IF ( (8192 & @options) = 8192 ) PRINT 'NUMERIC_ROUNDABORT' 
IF ( (16384 & @options) = 16384 ) PRINT 'XACT_ABORT'

Dưới đây là các tùy chọn tôi đã kết thúc:

$dbPDO->exec("SET ANSI_WARNINGS ON");                                                                               
$dbPDO->exec("SET ANSI_PADDING ON");
$dbPDO->exec("SET ANSI_NULLS ON");
$dbPDO->exec("SET QUOTED_IDENTIFIER ON");
$dbPDO->exec("SET CONCAT_NULL_YIELDS_NULL ON");

Cập nhật:Có vẻ như các ràng buộc FK đã dẫn đến lỗi sau. Phần trên cũng đã khắc phục được lỗi này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm hiểu phân vùng nào mà một giá trị nhất định sẽ được ánh xạ tới trong SQL Server (T-SQL)

  2. Kiểm tra xem một tham số là null hay rỗng trong một thủ tục được lưu trữ

  3. Tạo cơ sở dữ liệu SQL Server 2012 tương thích cho năm 2008

  4. Thống kê đối tượng cơ sở dữ liệu SQL Server

  5. Giải pháp cho:Cập nhật cửa hàng, chèn hoặc xóa câu lệnh ảnh hưởng đến một số hàng không mong muốn (0)