GVKun编程网logo

sql – Access DB使用另一个表中的值更新一个表(sql用另一个表更新这个表的数据)

8

对于想了解sql–AccessDB使用另一个表中的值更新一个表的读者,本文将提供新的信息,我们将详细介绍sql用另一个表更新这个表的数据,并且为您提供关于AccessDB用另一个表中的值更新一个表、m

对于想了解sql – Access DB使用另一个表中的值更新一个表的读者,本文将提供新的信息,我们将详细介绍sql用另一个表更新这个表的数据,并且为您提供关于Access DB用另一个表中的值更新一个表、mysql – 使用另一个表中的值更新表、MySQL 外键约束:在更新一个表时,用第一个表中的一些数据填充另一个表、mysql 把一个表中的两列合并,更新到另一个表中的一个字段的有价值信息。

本文目录一览:

sql – Access DB使用另一个表中的值更新一个表(sql用另一个表更新这个表的数据)

sql – Access DB使用另一个表中的值更新一个表(sql用另一个表更新这个表的数据)

我正在尝试使用另一个表中找到的值更新一个表中的所有记录.

我已经尝试了相同基本查询的许多版本,并始终得到相同的错误消息:

Operation must use an updateable
query.

有关为什么此查询在Access DB中不起作用的任何想法?

UPDATE inventoryDetails as idet
SET idet.itemDesc = 
(
    SELECT bomItemDesc
    FROM BOM_TEMPLATES as bt
    WHERE bt.bomModelNumber = idet.modelNumber
)

也试过这个,因为我意识到,因为第二个表有每个型号的多个型号记录 – 我只需要为每个型号找到的第一个记录中的第一个描述.

UPDATE inventoryDetails as idet
SET idet.item_desc = 
(
    SELECT TOP 1 bomItemDescription 
    FROM BOM_TEMPLATES as bt
    WHERE bt.bomModelNumber = idet.modelNumber
)

……但仍然得到同样的错误.

解决方法

你必须使用连接
UPDATE inventoryDetails 
INNER JOIN BOM_TEMPLATES ON inventoryDetails.modelNumber = BOM_TEMPLATES.bomModelNumber 
SET inventoryDetails.itemDesc = [bomItemDesc];

Access DB用另一个表中的值更新一个表

Access DB用另一个表中的值更新一个表

我试图用另一个表中找到的值更新一个表中的所有记录。

我尝试了相同基本查询的许多版本,并且始终收到相同的错误消息:

操作必须使用可更新的查询。

关于为什么此查询在Access DB中不起作用的任何想法?

UPDATE inventoryDetails as idet
SET idet.itemDesc = 
(
    SELECT bomItemDesc
    FROM BOM_TEMPLATES as bt
    WHERE bt.bomModelNumber = idet.modelNumber
)

也尝试了此操作,因为我意识到第二张表的每个型号都有多个型号记录-我只需要为每个型号找到第一条记录中的第一条说明。

UPDATE inventoryDetails as idet
SET idet.item_desc = 
(
    SELECT TOP 1 bomItemDescription 
    FROM BOM_TEMPLATES as bt
    WHERE bt.bomModelNumber = idet.modelNumber
)

…虽然仍然出现相同的错误。

mysql – 使用另一个表中的值更新表

mysql – 使用另一个表中的值更新表

我有这些表:

customer:
    customer_id vat_number
    =========== ==========
              1 ES-0000001
              2 ES-0000002
              3 ES-0000003


invoice:
    invoice_id customer_id vat_number
    ========== =========== ==========
           100           1 NULL
           101           3 NULL
           102           3 NULL
           103           2 NULL
           104           3 NULL
           105           1 NULL

我想用invoice.vat_number中的当前值填充invoice.vat_number中的NULL值.是否可以使用单个sql语句执行此操作?

我到目前为止触发了语法错误:

UPDATE invoice
SET vat_number=cu.vat_number /* Syntax error around here */
FROM invoice iv
INNER JOIN customer cu ON iv.customer_id=cu.customer_id
WHERE invoice.invoice_id=iv.invoice_id;
最佳答案
使用MysqL,ansi-92 JOIN语法:

UPDATE INVOICE
  JOIN CUSTOMER ON CUSTOMER.customer_id = INVOICE.customer_id
   SET vat_number = CUSTOMER.vat_number  
 WHERE INVOICE.vat_number IS NULL

使用MysqL,ANSI-89 JOIN语法:

UPDATE INVOICE,CUSTOMER 
   SET INVOICE.vat_number = CUSTOMER.vat_number  
 WHERE CUSTOMER.customer_id = INVOICE.customer_id
   AND INVOICE.vat_number IS NULL

对于more info,see the MySQL UPDATE documentation.这是MysqL特定的UPDATE语句语法,不太可能在其他数据库上受支持.

MySQL 外键约束:在更新一个表时,用第一个表中的一些数据填充另一个表

MySQL 外键约束:在更新一个表时,用第一个表中的一些数据填充另一个表

如何解决MySQL 外键约束:在更新一个表时,用第一个表中的一些数据填充另一个表?

我有两个表,用户表和登录表。 说:

Create table users(
 id int not null,name varchar not null,email varchar not null,password varchar not null,entries int default 0,primary key(id));

Create table login(
 id int not null,user_id int not null,Primary key(id)),Foreign key (user_id) references users(id));

我可以添加哪些约束或如何解决,以便每当我在 users 表中添加用户时,emailpassword 列都会添加到登录表也是(就像说我创建了用户表的最小化版本,其中只包含用户的登录凭据)。每当我从用户表中删除用户时,他应该从登录表中删除。

我希望我已经足够描述了?

解决方法

您可以定义 constraint with cascade delete。要实现依赖表的更新,您需要 triggers。可以定义 AFTER INSERT 触发器,您可以在其中更新任何依赖表。

同时,我会重新考虑在依赖表中有冗余字段,因为您总是可以通过加入主表来获取它。

mysql 把一个表中的两列合并,更新到另一个表中的一个字段

mysql 把一个表中的两列合并,更新到另一个表中的一个字段

UPDATE account a,contact c SET a.contact=CONCAT(c.first_name,c.last_name) WHERE a.id = c.account

用到 concat 拼接字符串函数,concat (str1,str1,......)

关于sql – Access DB使用另一个表中的值更新一个表sql用另一个表更新这个表的数据的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Access DB用另一个表中的值更新一个表、mysql – 使用另一个表中的值更新表、MySQL 外键约束:在更新一个表时,用第一个表中的一些数据填充另一个表、mysql 把一个表中的两列合并,更新到另一个表中的一个字段等相关内容,可以在本站寻找。

本文标签: