我有一个products表,其中有一个quantity_on_hand列,在插入/更新/删除事务时需要更新该列。在insert表中,我减少了事务中的qty字段,在update中根据事务中的NEW和OLD值减少和添加了字段。在DELETE触发器中,我只是根据OLD事务值添加了股票。
INSERT和UPDATE触发器工作正常,但是DELETE触发器既没有正确更新,也没有生成任何错误!以下是代码:
插入触发器(工作)
CREATE TRIGGER `tr_stockout_ai` AFTER INSERT ON `stockout`
FOR EACH ROW BEGIN
UPDATE stocki
这是我的两张桌子:
customer_details(c_id,c_name,c_vehicleNumber,c_phone,c_email) primary_key(c_id)AUTO INCREMENT and innoDB.
service_initiation(c_id2,si_id,si_1,si_2,si_3,si_4,si_5) primary_key(si_id) AUTO INCREMENT and innoDB
foreign_key(c_id2) references customer_details(c_id) on delete cascade and on upda
在更新WAMP密码时,我们使用一个UPDATE查询:
update mysql.user set password = password('somepassword') where user = 'root';
另一种是.
在这里,许多人认为我们不能使用点(.)运算符(主要用于PHP),而使用concat或+。
但是在这个UPDATE场景(我前面提到过)中,我也不能使用concat或+。
那么,在什么scnerio下,我们应该使用.和+,或者换句话说,.和+在mysql中的主要区别是什么?
我有两个变量,包含一个文本字符串。我需要在表中更新它们,但是在我尝试过的大约5个不同脚本的20多个不同的变体中,它只是没有更新!
我可以使用以下方法进行更新:
mysql_query("UPDATE cart SET quantity = $q WHERE sessionid='" .session_id(). "' AND description = '$d'") or die(mysql_error());
但是我现在正在处理一个不同的页面,在那里我需要一个稍微不同的更新查询。即:
UPDATE cart SET quanti
当我尝试从表company_catalog中删除一行时,我不想从引用的表store_catalog.中删除数据。约束在表store_catalog中不执行删除操作,但服务器返回异常。
org.hibernate.exception.ConstraintViolationException: could not execute statement
....
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent r
我正在制作MySql数据库,其中有胶片表:
id
标题
数量
可用
描述
和复制带有外键film_id的表
id
film_id
现在,在删除触发器之后,我已经在复制上编写了以下内容:
UPDATE `film`
SET available = available - 1
WHERE OLD.film_id = id;
现在我想在删除电影的触发器之前在上写,因为电影是通过拷贝来对比的,所以我写:
DELETE FROM copy WHERE copy.film_id = OLD.id;
这里发生错误:
无法更新存储函数/触发
我是个新手,我以前用过sql server 2000,我的问题是,在sql server 2000中创建两个表时,比如location和projects表projects具有引用location表的外键时,当在location中插入值时,项目也会更新。不需要在projects表的外键中插入类似的值。为什么在mysql中,当我使用insert命令在location中插入值时,这是不可能的?当在项目上使用select命令时,它不显示外键中的值。请检查下面的代码。
mysql> create table location(
-> id int not null,
->
我在stackoverflow上通过了几个QA,以便为我解决这个问题,但没有找到。我确实尝试了这个中的所有答案,但它似乎没有帮助。
每当我尝试用外键更新表中的记录时,我都会得到以下错误。
Mysql error 1452 - Cannot add or update a child row
还有什么其他因素可能会导致这种情况?我正在使用django 1.4,如果这很重要的话。
PS:
我尝试了我提到的问题的答案,我总是得到一个空的结果,如下所示:
MySQL returned an empty result set (i.e. zero rows). ( Query took 0.0004 s
MySQL提供以下功能:
INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;
MySQL是否提供了类似的DELETE语句,它将尝试删除,并在外键约束时更新表中试图删除的记录?
例如..。
DELETE FROM table1 WHERE idtable1 = 123;
IF(foreign key constraint) { //pseudo code...
UPDATE table1 SET deleted=1 WHERE idtable1 = 123;
}
CREATE TABLE IF N
我做了一些东西,我想知道这是不是另一种方法
$this = $CURUSER["id"];
mysql_query("UPDATE wuploaders SET uploads=uploads+1 WHERE userid=$this") or die(mysql_error());
if (mysql_affected_rows() == 0)
mysql_query("INSERT INTO wuploaders (userid, uploads) VALUES ('$this','1')
嗯,我一直在看错误1005的问题,但我没有看到我的错误,在这些问题解决的问题。这段代码是由Linux下的MySQL工作台生成的。谁有敏锐的眼睛能发现这个错误?它在尝试创建AB_test_questions时发生。
对于上下文,表ABs引用A/B检验的主题,AB_test_questions表示比较两个主题的问题(因此有两个外键引用ABs表)。
📷
CREATE TABLE IF NOT EXISTS `db`.`ABs` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NOT NULL,
`text` VARCHAR(2
这是我的模型Schedule.cs
public int Id { get; set; }
public int? ParentScheduleId { get; set; }
public Schedule? ParentSchedule { get; set; }
public ICollection<Schedule>? ChildSchedules { get; set; }
以下是配置代码:
public class ScheduleConfiguration : IEntityTypeConfigu
我希望更新mysql数据库中的500+记录,这样字段将是一个$incremental_value+db_user_first_name+@some_static_text的值组合。希望取得的成果的一个例子:
1_firstname@staticstring.com,2_george@staticstring.com,3_johnny@staticstring.com等。
我一直在玩一些方法,如下所示,但这自然不起作用(为了更好的澄清而修改)。
UPDATE user
SET email = (($incremental_value+1)+(user.first_name))"@stat
我有一个mysql数据库,它有两个表,users和items。我想用items更新行上的变量(我可以这样做),然后更新users中相关行上的变量。
我对使用外键进行更新感到困惑,这能在一个查询中实现吗?我该怎么做?
编辑
目前,我正在php中这样做:
//execute the SQL query and return records
$result = mysqli_query($dbhandle, "UPDATE items SET likes = likes + 1 WHERE id='$_POST[id]'")
or die("Unable
假设我在mysql中有两个表。
人(id,名,姓)-
其他的(id,名字,姓氏,动作,数量)-
我想问,如果这真的是不好的做法,更新两个表一次?例如,如果有人将的姓更新为"Smith“,那么执行两个查询:
mysql_query("UPDATE person SET lastname = '$lastname' WHERE id = '$id'");
mysql_query("UPDATE someothertable SET lastname = '$lastname' WHERE name
我有以下代码:
public int makePayment(User forUser, Collection<Movie> cartItems,
Address deliverTo)
{
int returnCode = 0;
LOGGER.debug("Number of items in cart - {}", cartItems.size());
Rental rental = new Rental();
rental.setRentalID(RandomStringUtils.randomAlphanumeric(
我正在使用SQL Server。我已经使用join编写了一个update语句。我尝试更新表中的一列,但我的update语句从另一个表中删除了该值。即使我在更新一列的值,我也不明白为什么会发生这种情况。
update rs
set rs.col1 = t.col2
from table1 r
join table2 rs on rs.Id = r.Id
join @temp t on t.Id = rs.Id
我正在尝试更新table2中的col1值,但它同时更新了table2中的col1和table1中的值
嗨,我有部门实体,在那个部门实体中,我有一个名为部门名称的字符串数据类型,另一个属性parentdepartment(one-to-many)作为部门数据类型(类类型)作为column.And的外键,我使用了一个- to -many relation和孤儿-removal= the。如果删除我的父部门,我不想删除子部门,因为这个原因,我在这里使用了orpen,但是它给出了一个例外情况。
异常
SEVERE: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`department`, CON
我有一个SQLite3数据库,其中有366行,以及一年中每一天的日期。我需要确保年份是当前的,如果不是,那么我需要将该年更新为当前的日历年。我想做的事情如下:
UPDATE daily SET date = DATE('%Y', 'now');
或
UPDATE daily SET date = strftime('%Y', 'now');
但是这些查询只是使date列为空,即使它们确实按照我的预期工作,我也怀疑它是否会保留已经存在的日期和月份。
在MySQL中,我可以做一些类似于UPDATE daily SET date = A
我有一个具有自动引用外键的表,如下所示:
CREATE TABLE user
(
id INT,
name VARCHAR(20),
ref INT,
PRIMARY KEY(id)
)ENGINE=InnoDB;
ALTER TABLE user
ADD FOREIGN KEY (ref) REFERENCES user(id)
ON DELETE RESTRICT ON UPDATE CASCADE;
然后,在表中插入值:
INSERT INTO user
VALUES(1, "User1", NULL), (2,