假设有一个存储过程SetCustomerName,它有一个输入参数Name,我有一个表名为customer的表客户.所以在我的存储过程中,我想设置客户的名字.如果我写
UPDATE customers SET Name = Name;Run Code Online (Sandbox Code Playgroud)
这是不正确的,我还看到了另外两种方式:
UPDATE customers SET Name = `Name`;
UPDATE customers SET customers.Name = Name;Run Code Online (Sandbox Code Playgroud)
第一个工作,但我没有在文档中找到我可以在`字符内包装参数.或者我在文档中错过了它(在这种情况下链接是受欢迎的).
还有哪些其他方式以及这种情况的标准方式是什么?重命名输入参数对我不好(因为如果你知道我的意思,我有自动对象关系映射).
更新:
所以,有一个关于反引号的链接(http://dev.mysql.com/doc/refman/5.0/en/identifiers.html)但是没有深入解释如何使用它们(如何使用它们与参数和列名).
并且有一个非常奇怪的事情(至少对我来说):你可以使用反引号:
UPDATE customers SET Name = `Name`;
//or
UPDATE customers SET `Name` = Name;
//or even
UPDATE customers SET `Name` = `Name`;Run Code Online (Sandbox Code Playgroud)
他们都以同样的方式工作.
你觉得这不奇怪吗?这个奇怪的行为是在某处解释的吗?
我最近有一次脑力训练考试,得到了很高的评价,但有几个问题对我来说很难.也许是因为英语不是我的母语......其中一个问题是:
以下哪一项描述了类型安全?
我认为它是1或5,但无论如何它们听起来很奇怪:(
你怎么看?
用户登录到他的控制面板并查看他的传入消息.在每条消息附近都有一个"回复"按钮.实现该按钮的正确方法是什么?
我看到三个主要选择:
使用链接:
<a href="customer.php?reply&messageid=1234">Reply</a>.
Run Code Online (Sandbox Code Playgroud)
坏处:
使用按钮:
<button onclick="location.href='customer.php?reply&messageid=1234'">Reply</button>`
Run Code Online (Sandbox Code Playgroud)
坏处:
使用表格<input type="submit">:
<form action="customer.php?reply" method="get">
<input name="messageid" type="hidden" value="1234" />
<input type="submit" value="Reply" />
</form>
Run Code Online (Sandbox Code Playgroud)
坏处:
其他一些说明:
你会选择哪一个?为什么?
UPD.好吧,我决定使用一个链接.谢谢大家的讨论!
这个问题就像我之前的问题的延续: 我是否正确InnoDb比MyISAM更频繁的并发更新和插入?
但这次我有具体的问题.
我们知道,当我们没有很多并发更新(插入)时,MyISAM比InnoDb更快.当我们有许多并发更新时,MyISAM表被锁定,所有其他客户端应该等待.
1)但是什么时候从MyISAM改为InnoDb?每秒更新1次?每秒10次更新?每秒100次更新?
2)对于一个具体的例子,最好是在我的网站上的一个表格中更改为InnoDb,我通常每分钟有几个更新(来自不同的会话),但有时它可以每秒2-3次更新?
假设我有一个简单的课程
public class Person
{
public string Name { get; set; }
private int _age;
public int Age
{
get { return _age; }
set
{
if(value < 0 || value > 150)
throw new ValidationException("Person age is incorrect");
_age = value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后我想为这个类设置一个绑定:
txtAge.DataBindings.Add("Text", dataSource, "Name");
Run Code Online (Sandbox Code Playgroud)
现在,如果我在文本框中输入了不正确的年龄值(比如说200),那么设置器中的异常将被吞下,在我更正文本框中的值之前,我将无法执行任何操作.我的意思是文本框无法放松焦点.这一切都是沉默的 - 没有错误 - 你只是不能做任何事情(甚至关闭表格或整个应用程序),直到你纠正价值.
这似乎是一个错误,但问题是:这是一个解决方法是什么?
请看下面的代码:
在第一个链接中有一个title属性,其中包含html特殊字符,<后跟"!" (实际上跟随哪个角色并不重要).当我们使用jQuery的attr()函数获取该title属性的值时,html被破坏(只要以下文本也缺失,您就可以看到没有打印"<"字符.
在第二个链接中唯一的区别是我之后添加了一个空格<,现在它按预期工作.
你认为这是jQuery中的一个错误还是我不明白的东西?
PS.如果你认为我做了一些奇怪的事情 - 它只是来自某个工具提示插件的一些代码.
HTML:
<a href="#" title="<div style='color:red'>This is the less than sign: <! Now you know it?</div>">This is a link</a><br>
<a href="#" title="<div style='color:red'>This is the less than sign: < ! Now you know it?</div>">This is a link</a><br>?
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$('a').each(function() {
$('body').append($(this).attr('title')); });
// just to exclude that it's append() function's fault :)
$('body').append("<div style='color:red'>This is the less than sign: <! Now you know it?</div>");?
Run Code Online (Sandbox Code Playgroud) 例如,Windows窗体设计器提供将窗体上的控件放置在窗体边框和控件边框之间的12个像素的位置.对我来说似乎太过分了.它是标准值吗?另外,据我所知,标准按钮高度应为23像素.我对吗?有没有文件说明这一切?并且我可以在Visual Studio中设置此默认值(例如,如果希望控件和表单边框之间的默认边距,当出现快照时,如果是6像素而不是12)?
usability user-interface windows-forms-designer visual-studio
我有一个ComboBox,有一个制造商列表.当用户选择制造商时,下面的网格将填充所选制造商的数据.该数据可以修改.完成所有更改后,用户必须按"保存"按钮.
但是用户可能忘记按Save并从ComboBox中选择另一个制造商,并且网格将填充另一个数据,因此之前的更改将丢失.
因此,在选择其他制造商之前,我需要询问用户是否要保存更改.
我怎样才能做到这一点?或者也许你提供另一种解决我的任务的方法(从另一个角度看)?
我们的网站每天有数百名访问者,每天有数万个查询.因此,数据库中的一些表很少更新,一些表每分钟更新几次,一些表更新〜每秒10次.
MyISAM使用表级锁定进行更新,InnoDb使用行级锁定.
因此,据我所知,对于频繁并发更新的表(每秒多次更新),最好将它们设为InnoDb,对于其他表(如果我们当然不需要事务和外键),可以使用MyISAM引擎.
我的想法是对的吗?
我在myisam表中有一个计数器字段.要在多任务环境(Web服务器,来自PHP的并发查询)中更新计数器值,我需要锁定记录以进行更新.所以我这样做:
START TRANSACTION;
SELECT Counter FROM mytable ... FOR UPDATE;
UPDATE Counter value or INSERT INTO mytable;
// let's make sleep for 20 seconds here to make transaction longer
COMMIT;
Run Code Online (Sandbox Code Playgroud)
据我所知,在MyISAM中,整个表应该被锁定,直到交易结束.当我从PHP启动并发查询,在浏览器中打开脚本时,它确实等待锁定消失.但是,如果我使用mysql.exe从表中选择所有记录 - 即使仍然保持锁定,它也会选择所有记录.
所以我似乎不明白.请解释一下这种行为.
mysql ×4
.net ×3
database ×3
html ×2
innodb ×2
javascript ×2
locking ×2
myisam ×2
winforms ×2
brainbench ×1
button ×1
combobox ×1
data-binding ×1
exception ×1
forms ×1
hyperlink ×1
jquery ×1
parameters ×1
performance ×1
setter ×1
testing ×1
transactions ×1
type-safety ×1
usability ×1