小编sra*_*l07的帖子

MySQL - 使用LIMIT进行UPDATE查询

我想更新表格中的行,从1001开始到下一个1000.

我尝试了以下查询:

UPDATE `oltp_db`.`users` SET p_id = 3 LIMIT 1001, 1000
Run Code Online (Sandbox Code Playgroud)
  1. 这给了我语法错误.它是否正确?我在这里犯了什么错
  2. 我们能以这种方式限制更新吗?

此外,我尝试更新的行具有列p_id的Null值,该列具有数据类型INTEGER.由于这个原因,我甚至无法使用以下查询进行更新:

UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id = null
Run Code Online (Sandbox Code Playgroud)
  1. 我上面的查询是否正确?
  2. 可以做些什么来实现这一目标?

mysql limit sql-update

61
推荐指数
4
解决办法
18万
查看次数

导入数据库架构

我有一个 mysqldump 文件,其中包含架构和数据转储。

我只需要从 sqldump 导入数据库架构。我尝试使用以下命令:

mysql -uUSER -pPASSWORD < filename.sql
Run Code Online (Sandbox Code Playgroud)

但没有任何帮助。它导入模式和数据。

我该怎么做?

mysql import schema

6
推荐指数
2
解决办法
3万
查看次数

PHP 中的字符串处理

任何人都可以向我解释如何在 PHP 中完成字符串处理。它是否与使用 Java 或任何其他方式完成的相同。PHP 中有没有类似 java 的 StringBuffer 类的东西,它可以在处理字符串时提高我的代码的性能。

请阐明这一点。

php string

5
推荐指数
0
解决办法
2731
查看次数

同一表单字段的多个实例

我有一个邀请表单,其中有两个字段定义为person和email,如下所示:

class InviteForm(Form):
    person = TextField("person", validators=[validators.Required("Please enter persons name.")])
    email =  EmailField("email", validators=[validators.Required("Please enter valid email."), validators.Email("Please enter valid email.")])

    def validate(self):
        return validate_form(self)
Run Code Online (Sandbox Code Playgroud)

其中validate_form函数是一个cusotm验证器,它检查邀请的几个条件.

我的要求是允许用户一次邀请多个人.为了实现这一点,我添加了jquery函数,它以html格式复制这些字段,并允许邀请多个人.

但问题是在我的视图函数中,当我从post请求中提取结果时,它只给出了第一个人的信息.我怎样才能得到所有人的详细信息.我的观点定义如下:

@app.route("/invite", methods=["GET", "POST"])
def invite():
   invite_form = InviteForm()
   if invite_form.validate_on_submit():
       print invite_form.person
       print invite_form.email
Run Code Online (Sandbox Code Playgroud)

这只给出一个字段,而不是字段数组.

这可能与python wtf?怎么样?

python flask wtforms flask-wtforms

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

flask AttributeError:'HTMLString'对象没有属性'__call__'

我创建了一个宏来处理表单错误,如下所示:

    {% macro render_field_with_errors(field) %}
       <p> 
          {{ field.label }} {{ field(**kwargs)|safe }}
          {% if field.errors %}
             <ul>
                  {% for error in field.errors %}
                     <li style="color: red;">{{ error }}</li>
                  {% endfor %}
            </ul>
          {% endif %}
       </p>
    {% endmacro %}

{% macro render_field(field) %}
   <p>{{ field(**kwargs)|safe }}</p>
{% endmacro %}
Run Code Online (Sandbox Code Playgroud)

我的forms.py如下:

from flask.ext.wtf import Form, TextField, BooleanField, PasswordField, RadioField, SelectMultipleField
from flask.ext.wtf import Required

class LoginForm(Form):
    username = TextField('email', validators = [Required()])
    password = PasswordField('password', validators=[Required()])
    remember_me = BooleanField('remember_me', default = …
Run Code Online (Sandbox Code Playgroud)

python flask flask-wtforms

4
推荐指数
1
解决办法
3286
查看次数

Flask sqlalchemy检查db.session中的对象是否已准备好进行提交

我有新创建的对象.我想知道如何检查当前会话是否有该对象?

像这样的东西:

user = User(...)
....
db.session.add(user)
...
if db.session.has_object(user):
    <process further>
Run Code Online (Sandbox Code Playgroud)

这样的事情可能吗?

另外,我想为我的flask实例创建after_request,这样我就可以只检查db.session是否准备好提交,而不是为了提交而烦恼.如果是,则执行db.session.commit().

像这样的东西:

@app.after_request
def after_request(response):
    if db.session.is_ready():
        db.session.commit()
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy flask flask-sqlalchemy

4
推荐指数
1
解决办法
1813
查看次数

限制和偏移量的jooq问题

我已经将jooq与spring集成在一起,并且对于所有类型的数据库查询(MySQL),我都使用spring的JDBC模板。这里使用jooq库来生成传递给jdbc模板的sql查询。

尽管我的其余查询工作正常,直到我向查询添加限制和/或偏移量为止。

我正在生成查询,如下所示:

create.select(Factory.field("table_name"))
      .from("tables t")
      .where("t.table_schema LIKE '" + schemaName + "'")
      .limit(10)
      .offset(2)
      .getSQL();
Run Code Online (Sandbox Code Playgroud)

我收到如下错误:

org.springframework.jdbc.BadSqlGrammarException:StatementCallback; 错误的SQL语法[从表t中选择table_name,其中(t.table_schema LIKE'test')有限制吗?偏移量?]; 嵌套的异常是com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误。检查与您的MySQL服务器版本相对应的手册,以获取在'?附近使用的正确语法。抵消了?在第1行

显然,传递给limit和offset方法的值未附加到查询中。

我搜索了文档,但没有找到其他实现此目的的方法。

java spring jdbctemplate bind-variables jooq

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

Flask WTForms 总是在 validate_on_submit() 上给出 false

我已经使用 wtforms 创建了一个注册表单。我在其中使用 FormField 以便我不必再次重复表单的某些元素。但是每当我点击提交按钮时,它总是在 validate_on_submit 方法调用时给我错误。不明白为什么会这样。

form.py的如下:

class ProfileInfoForm(Form):
    firstname = TextField('firstname', validators=
                          [validators.Required("Please enter First name.")])
    lastname = TextField('lastname', validators=
                         [validators.Required("Please enter Last name.")])
    email = EmailField('email', validators=
                       [validators.Required("Please enter your valid email.")])
    gender = RadioField('gender', validators=
                        [validators.Required("Please select gender")],
                        choices=[('female', 'Female'), ('male', 'Male')])
    dob = TextField('dob', validators=
                    [validators.Required("Please select date of birth.")])
    languages = SelectMultipleField('languages', choices=[('', '')],
                                    validators=
                                    [validators.Required("Please select\
                                                         atleast one \
                                                         language.")])


class RegistrationForm(Form):
    profilefield = FormField(ProfileInfoForm)
    password = PasswordField('password',
                             validators=
                             [validators.Required("Please enter …
Run Code Online (Sandbox Code Playgroud)

python flask wtforms flask-wtforms

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

Java HashSet以奇怪的顺序显示列表,始终以3开头

我有一些字符串数组,实际上只有来自文件的整数列表.我将其转换为HashSet,以便删除重复项,如下所示:

Set<String> intSet = new HashSet<String>(Arrays.asList(strArr));
Run Code Online (Sandbox Code Playgroud)

我期望它的所有数字都是有序的但是当然,因为这是一个字符串而不是整数列表,它可能不按顺序排列.但每当我尝试打印这个HashSet时,我总是得到如下输出:

[3, 2, 1, 4]
[3, 2, 5, 4]
Run Code Online (Sandbox Code Playgroud)

每次,如果存在3,则认为它是第一个元素.我不知道为什么这样做?任何人都可以解释我这个.

java string int arraylist hashset

2
推荐指数
2
解决办法
449
查看次数