小编Sha*_*dow的帖子

从mysql中的xml中提取值

我试图从xml中提取值.我在xml具有属性时遇到问题.喜欢以下存储过程

DELIMITER $$
DROP PROCEDURE IF EXISTS `excel`.`insert_items` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_items`()
BEGIN
SET @xml = '<items><item>
        <value columntype="0">Single Line Text_01</value>
    <value columntype="1">Single Line Text_12341</value>
    <value columntype="2">Single Line Text_21</value>
    <value columntype="3">Single Line Text_31</value>
    <value columntype="4">Single Line Text_41</value>
    </item>
</items>';
SELECT @columntype, ExtractValue(@xml, 'items/item/value[items/item/value/@columntype=0]');    
END $$
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

xml mysql

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

将包含数据的表从一个MySQL服务器复制到另一个

我在计算机上有一个MySQL数据库,在不同的服务器上有相同的MySQL数据库.我需要他们在结构上的长期完全相同,包含的数据和我来的地步,我能做到这一点的唯一途径是通过截断一个表,然后插入到它的其他的所有行(完全相同)表.

我想通过MySQL查询而不是通过备份然后导入它来实现这一点,而不是通过数据库迁移等,而是通过查询,因为我计划在VB项目中使用此查询并在每次更改时使用它这两个表中的任何一个.

我知道如果同一服务器上的表的查询结果如下:

INSERT INTO db.table1 SELECT * FROM db.table2
Run Code Online (Sandbox Code Playgroud)

但我不知道如何编写该SELECT子句以及如何告诉它.table2在另一台服务器上.

我认为它应该是这样的

INSERT INTO db.table1 SELECT * FROM (ServerName/IP).db.table2
Run Code Online (Sandbox Code Playgroud)

但不能完全弄明白自己,任何想法?

mysql copy

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

插入触发器在从节点js app发生插入后不起作用

我有一个后插入触发器.调用存储过程.当我运行直接查询时,它运行良好.但是当我通过节点js app插入数据时.它甚至不在主表中插入数据.触发器和存储过程中没有任何错误,因为它适用于表的直接插入查询.

dbObject.create(data, function(err, response){
        if (err) {
            //console.log("err", err);
            res.status(500).jsonp(response)
        }
        console.log("response", response);
        dbObject.find({SnsId: SnsId}, '*' , {}, 0, 0, {}, function(err, resp){
            if (err) {
                //console.log("err", err);
                res.status(500).jsonp(err)
            }
            console.log("response", resp);
            res.jsonp(resp);
        });
    });
Run Code Online (Sandbox Code Playgroud)

触发代码 -

DELIMITER $$
CREATE TRIGGER `copytoSensorMapTrigger` AFTER INSERT ON test4.`SENSORS`
FOR EACH ROW
BEGIN
   CALL copyToSensorMap(NEW.`SnsId`,NEW.`SnsState`);
END;
Run Code Online (Sandbox Code Playgroud)

存储过程代码 -

DELIMITER $$
 CREATE PROCEDURE copyToSensorMap(IN snsid bigint(20),IN sns_state varchar(128))
   BEGIN
   DECLARE  color varchar(128);
   INSERT INTO test3.`SENSOR_MAP` (`SENSOR_ID`, `SENSOR_NAME`, `USER_ID`, `HOST_ID`,  `SENSOR_STATE`)
    SELECT `SnsId`,
   `SnsName`,`SnsOwner`,`HostId`,`SnsState` …
Run Code Online (Sandbox Code Playgroud)

javascript mysql triggers node.js

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

Laravel 5.3 ModelFactory Seeder调用未定义的方法Illuminate\Database\Query\Builder :: posts()

我试图使用laravel ModelFactory创建一个使用一些虚拟数据填充表格的播种表.我一直收到这个错误,而且我没有修复它的想法.

'种族'模式

<?php

namespace App\Game;

use Illuminate\Database\Eloquent\Model;

class Race extends Model
{
//
    public $timestamps = false;
    protected $fillable = ['name','description','icon'];
}
Run Code Online (Sandbox Code Playgroud)

文件2模型工厂文件

$factory->define(App\Game\Race::class, function (Faker\Generator $faker) {
    return [
        'name' => $faker->name,
        'description' => $faker->text,
        'icon' => $faker->url,
    ];
});
Run Code Online (Sandbox Code Playgroud)

文件3播种机文件

<?php

use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;

class RacesTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        //
        factory(App\Game\Race::class, 10)->create()->each(function($u) {
           $u->posts()->save(factory(App\Game\Race::class)->make());
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误调用未定义的方法Illuminate\Database\Query\Builder :: posts()

当我打电话给'php …

php laravel laravel-5.3

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

MySQL错误:sql_mode = only_full_group_by

我有这个脚本,我习惯于为动态结果做一个简单的投影

    SELECT 
    M.nom_utilisateur, 
    SUM(M.montant_bulletin ) as Montant_Total_BS,
    SUM(M.montant_payer   ) as Montant_Total_payer,
    COUNT(M.ref_bs ) as nbr_bs_total,

(SELECT COUNT(*) FROM mutuelle_bi.`Mutuelle` WHERE nom_utilisateur = M.nom_utilisateur  AND (M.nom_assurence  = "Star" AND M.etat_bs = "Remboursé")) as nbr_bs_total_payer,

(SELECT COUNT(*) FROM mutuelle_bi.`Mutuelle` WHERE nom_utilisateur = M.nom_utilisateur  AND (M.nom_assurence  = "Star" AND M.etat_bs = "Non remboursé")) as nbr_bs_non_payer,

(SELECT COUNT(*) FROM mutuelle_bi.`Mutuelle` WHERE nom_utilisateur = M.nom_utilisateur  AND (M.nom_assurence  = "Star" AND M.etat_bs = "En cours")) as nbr_bs_en_cours,

(SELECT COUNT(*) FROM mutuelle_bi.`Mutuelle` WHERE nom_utilisateur = M.nom_utilisateur  AND …
Run Code Online (Sandbox Code Playgroud)

mysql

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

MySQL在存储过程中禁用auto_increment列临时

在SQL Server中有类似的东西

IDENTITY_INSERT设置为OFF,之后我们可以设置为ON

我想知道的是,在mysql中类似的东西我需要临时设置并设置为ON,例如

create procedure ()

    begin   
      IDENTITY_INSERT is set to OFF
      Some insert statement
      Some insert statement
      IDENTITY_INSERT is set to ON 
    end
Run Code Online (Sandbox Code Playgroud)

mysql

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

MySQL并发更新

我在服务器端使用PHP和MySql(InnoDB)的小型POS系统。完成“销售”后,将执行以下查询以更新库存数量:

"UPDATE products SET qty=qty-:qty, ustatus=1 WHERE pid=:pid";
Run Code Online (Sandbox Code Playgroud)

此语句是否为“并发更新安全”,这意味着我需要任何事务或锁定表。

我只想确保,在同一时间执行的多个查询不会弄乱我的库存。

mysql

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

为什么我的多对多关系字段未定义?

我正在尝试创建一个关注者/关注系统,当我尝试将新用户附加到以下列表时,出现错误Cannot read property 'push' of undefined。这最终会创建 2 个单独的表,一张用于关注其他用户的用户,一张用于被其他用户关注的用户。不知道为什么它没有占据这个领域?任何帮助表示赞赏。

import { Length } from "class-validator";
import {
    Column,
    CreateDateColumn,
    Entity,
    JoinTable,
    ManyToMany,
    OneToMany,
    PrimaryColumn,
    RelationCount,
    Unique,
    UpdateDateColumn
} from "typeorm";

export class User {

    @PrimaryColumn()
    public user_id: string;

    @Column()
    public first_name: string;

    @Column()
    public last_name: string;

    @Column()
    public email: string;

    @Column()
    public phone_number: string;

    @Column()
    public username: string;

    @Column()
    @CreateDateColumn()
    public created_on: Date;

    @Column()
    @UpdateDateColumn()
    public updated_at: Date;

    @ManyToMany((type) => User, (user) => user.following)
    @JoinTable()
    public followers: User[];

    @ManyToMany((type) …
Run Code Online (Sandbox Code Playgroud)

arrays typescript typeorm

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

从类表继承确定类型

我正在尝试实现一个具有类似于下面的表结构的数据库,其中 2 个表是表的子类型。

动物有一个主键,狗和猫有一个引用动物的animal_id的外键。

animal(animal_id, bornAt)
dog(animal_id, barkSound)
cat(animal_id, meowSound)
Run Code Online (Sandbox Code Playgroud)

值得注意的是,dog和cat是不相交的,因此它们不可能在animal中引用相同的animal_id。

有没有办法在给定animal_id的情况下使用SQL代码来确定动物的类型?例如,如果有一只动物_id为4的狗(不知道动物_id 4是狗这一事实),我想通过动物和狗表中的连接检索数据。

mysql sql database-design class-table-inheritance

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

使用 updateOrCreate() 时出现重复条目

我正在使用(最新的)流明,这可能是我的错误的罪魁祸首。

当我使用 updateOrCreate() 时:

            User::updateOrCreate(
            ['username'     => $user->username],
            [
                'email'         => $user->email,
                'password'      => $user->password,
                'foreign_id'    => $user->foreign_id,                
                'client_id'     => $user->client_id,
                'status'        => $user->active,
                'user_level'    => (integer) $user->user_level
            ]
        );
Run Code Online (Sandbox Code Playgroud)

在我的其中一个模型上,我收到 mysql 错误:

"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'user@name.com' for key 'users_username_unique' (SQL: insert into `users` (`username`,
Run Code Online (Sandbox Code Playgroud)

因为它尝试为我的唯一列之一(用户名)插入重复值。

因此,函数本身存在,我没有收到任何错误,并且它适用于第一次插入,但是一旦它达到检查数据库条目是否存在并且只需要更新它的功能,它仍然想要创建新条目,但具有重复的值。

Laravel 本身在其 Eloquent 中有 updateOrCreate():https ://laravel.com/docs/8.x/eloquent#upserts 。Lumen 中的 Eloquent 是否会以某种方式削弱此功能?

在查看 Laravel 或 Lumen 的代码时,我找不到这个函数的实现,最接近的是 updateOrFail()...

php laravel lumen

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