2012-12-27 40 views
6

thể trùng lặp:
DEFAULT clause in ALTER TABLE statement resulting in syntax errorSQL SET DEFAULT không làm việc trong MS Access

Tôi cố gắng để thực hiện các tuyên bố sau sử dụng một truy vấn SQL trong MS Access;

ALTER TABLE [table] ALTER COLUMN [column] SET DEFAULT 'default value' 

Tuy nhiên, tôi nhận được một hộp thoại hiển thị lỗi Syntax error in ALTER TABLE statement.

Và khi tôi nhấn OK nó nổi bật từ DEFAULT. Tôi cũng đã thử tuyên bố sau;

ALTER TABLE [table] 
ADD CONSTRAINT [Default] DEFAULT 'default value' FOR [column] 

Và tôi nhận được một lỗi Syntax error in CONSTRAINT clause.

cú pháp chính xác cho thiết lập một giá trị mặc định trong MS Access là gì? Tệp db là định dạng Access 2003.

+1

Điều thứ hai là tiêu chuẩn SQL, nhưng tôi không tin rằng nó được hỗ trợ trong Access. Xem ['ALTER TABLE'] (http://msdn.microsoft.com/en-us/library/office/bb177883 (v = office.12) .aspx) –

+0

http://stackoverflow.com/questions/10440990/ default-clause-in-alter-table-statement-kết quả-cú pháp-lỗi. Nó không thể được thực hiện bằng cách sử dụng SQL. Tôi đã bỏ phiếu để đóng câu hỏi này. – shahkalpesh

+0

Câu hỏi trước đó là về một truy cập 97 db. Và vì khả năng truy cập DDL (bao gồm 'DEFAULT') không được giới thiệu cho đến khi máy bay phản lực 4 (Access 2000), câu hỏi trước chỉ áp dụng ở đây nếu Steztric cũng đang sử dụng định dạng Access 97 làm tệp db của mình. – HansUp

Trả lời

5

Hỗ trợ cho DEFAULT được bao gồm trong Access DDL với Máy bay phản lực 4 (Access 2000). Tuy nhiên nó chỉ có thể được sử dụng trong DDL được thực hiện từ một kết nối ADO.

này đã làm việc với Access 2007.

CurrentProject.Connection.Execute "ALTER TABLE MyTable " & _ 
    "ALTER COLUMN field2 SET DEFAULT ""foo"";" 

Lưu ý nếu file db của bạn là Access 97 hoặc sớm hơn, bạn sẽ không thể để thiết lập một giá trị trường DEFAULT từ DDL.

+0

Cảm ơn bạn @ HansUp, đây là những gì tôi đang tìm kiếm. Trong thực tế, lý do tôi thực thi SQL từ bên trong Access là một vùng cát để đảm bảo rằng tôi đã viết đúng truy vấn ODB để thực hiện điều này trong mã. – Steztric

+0

Vâng, đã hiểu. Cám ơn vì đã chia sẻ! – Steztric

+0

Bạn được chào đón. Tôi không chắc liệu ALTER TABLE có hoạt động từ kết nối ODBC hay không.Nếu không, sử dụng một kết nối OleDb thay vì nó sẽ làm việc sau đó. – HansUp

0

Dường như, sẽ có Constraint sự cố với cột của bạn. Mặc dù sau tuyên bố DDL là cách chính xác.

ALTER TABLE Persons ALTER COLUMN City SET DEFAULT 'SANDNES' 

Reference

+0

Điều này không hoạt động. – htm11h

Các vấn đề liên quan