我有一些触发器BEFORE INSERT,AFTER DELETE在桌子上。如何确保触发器失败,然后我的查询得到回滚?
我的意思是我想确定,要么查询和触发都有效,要么它们都不起作用。那么是触发器交易吗?
这是表结构:
+----+-----------------------------+-----------+
| id | post_content | edited_id |
+----+-----------------------------+-----------+
| 1 | content 1 | NULL |
| 2 | content 2 | NULL |
| 3 | content 1 (edited) | 1 |
| 4 | content 3 | NULL |
| 5 | content 4 | NULL |
| 6 | content 4 (edited) | 5 |
| 7 | content 1 (edited) | 1 |
+----+-----------------------------+-----------+
Run Code Online (Sandbox Code Playgroud)
现在我想选择每篇文章的最新编辑版本.所以这是预期的结果:
+----+-----------------------------+-----------+
| id | post_content | edited_id |
+----+-----------------------------+-----------+ …Run Code Online (Sandbox Code Playgroud) 有4种情况:(例如我在谈论ON DELETE)
CASCADE:引用行将与引用行一起自动删除。SET NULL:引用记录的值将与引用记录一起NULL自动设置。NO ACTION: 引用行被删除后,引用行不会有任何变化。RESTRICT:{我无法理解它的概念}为此我多次阅读文档,但仍然无法理解是什么RESTRICT。你可以请某人通过一个例子来解释它吗?
我在某处读过NO ACTION,RESTRICT在 MySQL 中也一样。真的吗?
我有 PHP 代码,它删除了至少具有一个属性的所有节点。这是我的代码:
<?php
$data = <<<DATA
<div>
<p>These line shall stay</p>
<p class="myclass">Remove this one</p>
<p>But keep this</p>
<div style="color: red">and this</div>
</div>
DATA;
$dom = new DOMDOcument();
$dom->loadHTML($data, LIBXML_HTML_NOIMPLIED);
$dom->removeChild($dom->doctype);
$xpath = new DOMXPath($dom);
$lines_to_be_removed = $xpath->query("//*[count(@*)>0]");
foreach ($lines_to_be_removed as $line) {
$line->parentNode->removeChild($line);
}
// just to check
echo $dom->saveHTML();
?>
Run Code Online (Sandbox Code Playgroud)
正如你在小提琴中看到的,这是上面代码的当前输出:
<div>
<p>These line shall stay</p>
<p>But keep this</p>
</div>
Run Code Online (Sandbox Code Playgroud)
虽然这是理想的结果:
<div>
<p>These line shall stay</p>
Remove this one
<p>But keep this</p>
and this
</div> …Run Code Online (Sandbox Code Playgroud) 这是我当前的重定向代码:
window.location.href= '/post/' + data.main_id + '/' + subject + '#post-' + data.post_id;
Run Code Online (Sandbox Code Playgroud)
当我在同一个 URL 中时,上面的代码只是更改了 slug。无论如何,我需要更改 slug 并重新加载页面。我怎样才能通过 JS 甚至 jQuery 做到这一点?
我有这个HTML:
<h5>something</h5>
<ul>
<li class="name">John</li>
<li class="age">21</li>
</ul>
<h5>specific text</h5>
<ul>
<li class="name">Peter</li>
<li class="age">19</li>
</ul>
<h5>something else</h5>
<ul>
<li class="name">Ali</li>
<li class="age">62</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我想选择这个部分:
<h5>specific text</h5>
<ul>
<li class="name">Peter</li>
<li class="age">19</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
逻辑是<h5>标签的内容.我想要那个specific text.实际上,预期结果是该名称和该年龄的数组.有点像:var res = ['Peter', 19];.
但我的代码选择了所有这些<ul>:
$('ul').map(function (){
var res = [$(this).find('li.name').text(), $(this).find('li.age').text()];
});
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
以下是google map api的示例结果.
如您所见,有两个项目似乎是独一无二的.
id: "4c45c924b261e2bb262360fb5a25d4b9a94088a7",
place_id: "ChIJf5Us9YQBjj8R0OohvHQms1U",
Run Code Online (Sandbox Code Playgroud)
那么这些有什么区别?我应该在项目的数据库中存储哪一个用于以后使用?
这是我的HTML结构:
<tr>
<td class="option_name_twitter">Something</td>
<td class="option_loading">
<img src="img/checked_successfully.png">
</td>
</tr>
<tr>
<td class="option_name_instagram">Something else</td>
<td class="option_loading">
<img src="img/checked_successfully.png">
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
$(document).on('click', "img[src$='checked_successfully.png']", function () {
var name = $(this).closest('td.option_loading').sibilings('td.^option_name_').attr('class');
})
Run Code Online (Sandbox Code Playgroud)
我正在尝试获取classname的一个元素值的最后一部分option_name_.所以预期的结果是twitter或者instagram.我怎样才能做到这一点?
我需要Emails点击所有复选框打印单词.我怎样才能做到这一点?这是我的HTML结构:
$('td input').on('change', function() {
var header_name = $(this).closests('tr').sibilings('th').last().text();
console.log(header_name);
})Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tbody>
<tr>
<th><input type="checkbox" class="all_checkboxes"></th>
<th>Emails</th>
</tr>
<tr>
<td><input type="checkbox" data-id="email"></td>
<td>email</td>
</tr>
<tr>
<td><input type="checkbox" data-id="gmail"></td>
<td>gmail</td>
</tr>
<tr>
<td><input type="checkbox" data-id="aol"></td>
<td>aol</td>
</tr>
<tr>
<td><input type="checkbox" data-id="chmail"></td>
<td>chmail</td>
</tr>
</tbody>
</table>Run Code Online (Sandbox Code Playgroud)
git pull origin mastergit add .git commit -m "bug x fixed"我应该再次添加它们吗?我应该删除最后一次提交并进行新的提交吗?或者是什么?