小编Aar*_*ner的帖子

MySql错误:无法更新存储函数/触发器中的表,因为它已被调用此存储函数/触发器的语句使用

我正在运行MySQL查询.但是当从表单输入添加新行时,我收到此错误:

Error: Can't update table 'brandnames' in stored function/trigger because it is 
already used by statement which invoked this stored function/trigger.
Run Code Online (Sandbox Code Playgroud)

从代码:

CREATE TRIGGER `capital` AFTER INSERT ON `brandnames`
FOR EACH
ROW UPDATE brandnames
SET bname = CONCAT( UCASE( LEFT( bname, 1 ) ) , LCASE( SUBSTRING( bname, 2 ) ) )
Run Code Online (Sandbox Code Playgroud)

这个错误是什么意思?

mysql triggers

45
推荐指数
3
解决办法
9万
查看次数

使用LEFT JOIN和INNER JOIN插入

嘿所有我试图找出如何使用以下查询插入新记录:

SELECT user.id, user.name, user.username, user.email, 
  IF(user.opted_in = 0, 'NO', 'YES') AS optedIn  
FROM 
  user
  LEFT JOIN user_permission AS userPerm ON user.id = userPerm.user_id
ORDER BY user.id;
Run Code Online (Sandbox Code Playgroud)

INSERT到目前为止,我的查询是:

INSERT INTO user 
SELECT * 
FROM user 
  LEFT JOIN user_permission AS userPerm ON user.id = userPerm.user_id;
Run Code Online (Sandbox Code Playgroud)

但是,我不确定VALUE('','','','', etc etc)在使用左连接和内连接时该怎么做.

所以我要做的是:

User 表:

id    | name       | username    | password                 | OptIn
--------------------------------------------------------------------
562     Bob Barker   bBarker       BBarker@priceisright.com   1
Run Code Online (Sandbox Code Playgroud)

还有user_permission桌子

user_id   | Permission_id
-------------------------
562         4
Run Code Online (Sandbox Code Playgroud)

更新 这样吗? …

mysql inner-join left-join

40
推荐指数
2
解决办法
21万
查看次数

使用JavaScript获取元素的自定义css属性(-mystyle)

在某些元素具有自定义CSS属性的应用程序中,有没有办法通过JavaScript检索这样的值?

例如

<div id="myDiv" style="color:#f00;-my-custom-property:upsidedown;" />
Run Code Online (Sandbox Code Playgroud)

我可以通过以下两种方法访问color属性:

$('myDiv').style.getPropertyValue("color")
$('myDiv').style.color
Run Code Online (Sandbox Code Playgroud)

但这些不适用于自定义属性.这支持了吗?

javascript css prototypejs

12
推荐指数
3
解决办法
1万
查看次数

UTF-8 到 UTF-16LE Javascript

我需要在 javascript 中将 utf-8 字符串转换为 utf-16LE,如 iconv() php 函数。

IE:

iconv("UTF-8", "UTF-16LE", $string);
Run Code Online (Sandbox Code Playgroud)

输出应该是这样的:

49 00 6e 00 64 00 65 00 78 00

我发现这个 func 可以解码 UTF-16LE,它工作正常,但我不知道如何做同样的编码。

function decodeUTF16LE( binaryStr ) {
    var cp = [];
    for( var i = 0; i < binaryStr.length; i+=2) {
        cp.push( 
             binaryStr.charCodeAt(i) |
            ( binaryStr.charCodeAt(i+1) << 8 )
        );
    }

    return String.fromCharCode.apply( String, cp );
}
Run Code Online (Sandbox Code Playgroud)

结论是创建一个可以下载的二进制文件。

编码:

function download(filename, text) {
    var a = window.document.createElement('a');

    var byteArray = new Uint8Array(text.length);
    for (var …
Run Code Online (Sandbox Code Playgroud)

javascript encoding utf-8 utf-16

5
推荐指数
1
解决办法
4668
查看次数

在最初几次尝试中,表的 onpaste/paste 事件不会触发

Google Chrome 特定 - 这是一个内部使用的应用程序,不需要跨浏览器兼容性

请参阅http://jsfiddle.net/spetnik/vpcyt4yv/

我有一个表,我试图在其中粘贴数据。我使单个单元格可以这样选择:

<td tabindex="0">
Run Code Online (Sandbox Code Playgroud)

我最初尝试将 onpaste 事件添加到 TD 元素本身,但这根本不起作用。因此,我将事件添加到表元素中,然后检查以确保焦点元素是 TD,然后将数据粘贴到该元素中:

document.getElementById("tblData").onpaste = function(evt){
    if(document.querySelector(":focus").tagName.toLowerCase() != "td"){
        return;
    }

    document.querySelector(":focus").innerText = evt.clipboardData.getData("text/plain");
};
Run Code Online (Sandbox Code Playgroud)

虽然这基本上有效,但该事件通常不会在第一次尝试时触发。看来我需要a)在表中随机单击几次(每次都不同)或b)将焦点更改到另一个窗口,然后在事件触发之前再次返回。在 jsFiddle 中,我在事件的最开始添加了一个 console.log() 调用,以便我可以准确地看到事件何时在调试窗格中触发。

请参阅上面的 jsFiddle 或仅查看https://jsfiddle.net/spetnik/vpcyt4yv/embedded/result/的结果

javascript events google-chrome onpaste

5
推荐指数
1
解决办法
2221
查看次数

调试IE崩溃

我有一个在Chrome和FireFox中完美运行的Web应用程序,但在IE中却崩溃了.请注意,这不是JavaScript错误,而是iexplore.exe进程实际崩溃.

代码发布在下面.这将在IE9中崩溃(单击按钮时).反转JavaScript或对CSS进行更改可以消除这个问题,但是要意识到这是从一个更大的应用程序中减少代码,这些应用程序无法以这种方式轻松更改(例如,在实际应用程序中,两个JavaScript命令是在两个不同的函数中调用 - 第二个函数根据第一个函数的结果有条件地运行.我甚至不确定我的问题是什么,除了"有没有办法让微软迅速修补这个问题?" 我有兴趣听听别人的想法:

<!DOCTYPE html>
<html>
    <head>
        <title>IE Crash</title>
    </head>
    <body>
        <div id="dvStep11" style="width:500px;">
            <label for="inpDOB">Date of Birth (mm/dd/yyyy)</label>
            <input type="text" id="inpDOB" style="width:350px;" />
        </div>
        <button onclick="document.getElementById('inpDOB').value = '12/7/1971';document.getElementById('dvStep11').style.display='none';">Click here</button>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

编辑:我已经与微软开了个案,我正在与一个开发团队成员合作.我会在收到更多信息时更新此信息.

javascript internet-explorer

3
推荐指数
1
解决办法
4536
查看次数