Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
添加列SQL访问_Sql_Database_Ms Access - Fatal编程技术网

添加列SQL访问

添加列SQL访问,sql,database,ms-access,Sql,Database,Ms Access,我在MS access上有一个数据库,我想使用SQL添加一个具有唯一ID的新列。 例如: Name Sales ID Lucas 20 0.00001 Mike 10 0.00002 John 25 0.00003 我正在自学SQL。谁能帮帮我吗 谢谢 请尝试以下代码: ALTER TABLE "YOUR_TABLE" ADD "FIELD_NAME" UNIQUEIDENTIFIER NOT NULL DEFAULT NewId() PRIMARY KEY 在Access 2010中,这

我在MS access上有一个数据库,我想使用SQL添加一个具有唯一ID的新列。 例如:

Name Sales ID
Lucas 20 0.00001
Mike 10 0.00002
John 25 0.00003
我正在自学SQL。谁能帮帮我吗

谢谢

请尝试以下代码:

ALTER TABLE "YOUR_TABLE" ADD "FIELD_NAME" UNIQUEIDENTIFIER NOT NULL DEFAULT NewId()  PRIMARY KEY

在Access 2010中,这似乎对我很有效:

ALTER TABLE MyTable ADD COLUMN ID AUTOINCREMENT NOT NULL

假设“具有唯一ID的列”是指自动编号字段:

ALTER TABLE MyTable ADD COLUMN ID AUTOINCREMENT;
然后将其作为主键:

ALTER TABLE MyTable ADD PRIMARY KEY(ID);

在这里,您向我们展示了您想要添加的3个新记录行。如果您想要学习SQL,那么我很确定在ms access中使用DDL需要您在VBA中编写它。您最好使用SQLite或SQL Server Compact之类的工具。实际上我有将近10000行,我只想插入一个唯一的ID,但是我必须使用MS access SQL://@TI来做这件事-您对SQLite的引用没有多大意义,因为SQLite的ALTER TABLE支持比DAO/JET的更不完整。它在字段定义中给了我一个错误语法错误,并标记UNIQUEIDENTIFIER。您需要更改表名、表名和字段名字段名。例如:ALTER TABLE YOUR_TABLE ADD ID UNIQUEIDENTIFIER NOT NULL默认NewId PRIMARY KEYQuick on the mark!我投票赞成提前一分钟到达那里-@ChrisRolliston+1也谢谢你的回答。我本来打算编辑我的答案以包含添加主键的语句,但你抢先了我一步同样感谢Gord:你能帮我回答我向chris提出的问题吗?据我所知,如果你使用自动递增类型,NOT NULL是隐含的,尽管它是无害的,也许更好的做法是像其他答案一样显式…完美的chris,谢谢!您知道如何在链接表上使用此Alter表吗?在这种情况下,它向我显示了一个错误。@lucaserafim否,您不能从Access更改链接表的结构。您需要直接对另一个数据库中的实际表进行更改,然后刷新表链接以使其意识到更改。@Lucaserafim-啊,在这种情况下,据我所知,恐怕您必须使用VBA,如果只是为了获得一个DAO数据库对象或可以向其发送SQL语句的ADO等效对象。谢谢大家,我要做的是将其转换为本地表。那对我来说就行了。再次感谢!: