小编Imr*_*ran的帖子

MYSQL 5.7中的原生JSON支持:MYSQL中JSON数据类型的优缺点是什么?

在MySQL 5.7中,添加了一种用于在MySQL表中存储JSON数据的新数据类型.这显然是MySQL的一个巨大变化.他们列出了一些好处

文档验证 - 只有有效的JSON文档可以存储在JSON列中,因此您可以自动验证数据.

高效访问 - 更重要的是,当您将JSON文档存储在JSON列中时,它不会存储为纯文本值.相反,它以优化的二进制格式存储,允许更快地访问对象成员和数组元素.

性能 - 通过在JSON列中的值上创建索引来提高查询性能.这可以通过虚拟列上的"功能索引"来实现.

方便性 - JSON列的附加内联语法使得在SQL中集成Document查询非常自然.例如(features.feature是JSON列):SELECT feature->"$.properties.STREET" AS property_street FROM features WHERE id = 121254;

哇 !它们包括一些很棒的功能.现在,操作数据更容易.现在可以在列中存储更复杂的数据.所以MySQL现在用NoSQL来调味.

现在我可以想象一下JSON数据的查询

SELECT * FROM t1
WHERE JSON_EXTRACT(data,"$.series") IN 
( 
SELECT JSON_EXTRACT(data,"$.inverted") 
FROM t1 | {"series": 3, "inverted": 8} 
WHERE JSON_EXTRACT(data,"$.inverted")<4 );
Run Code Online (Sandbox Code Playgroud)

那么我可以在少数json colum中存储巨大的小关系吗?好吗?它是否会破坏正常化.如果这是可能的,那么我猜它会像MySQL列中的NoSQL一样.我真的想知道更多有关此功能的信息.MySQL JSON数据类型的优缺点.

mysql database json nosql database-normalization

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

为什么HttpParams在角度4.3中不能在多行中工作

从Angular 4.3开始,他们引入了HttpClient而不是Http.在HttpClient我不能URLSearchParams用于url查询参数.而不是URLSearchParams我正在使用HttpParams

这项工作

 var params = new HttpParams().append('a', '1').append('b', '2');
Run Code Online (Sandbox Code Playgroud)

但为什么这不起作用

var params = new HttpParams();
params.append('a', '1');
params.append('b', '2');
Run Code Online (Sandbox Code Playgroud)

angular

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

导出时触发器出现意外错误

文档说

对于具有相同触发器操作时间和事件的给定表,不能有两个触发器.

我使用mysql 5.5.16.我创建了两个触发器.upd_check1sale_tri.我确信我的两个触发器在INSERT事件上执行两个不同的表.但为什么我在两个触发器中都会出现此错误.当我尝试导出数据库(phpmyadmin没有显示错误但是mysql workbench,heidisql,查询浏览器显示错误).

SQL错误(1235):此版本的MySQL尚不支持"具有相同操作时间和事件的多个触发器"

这是我的upd_check1触发器

--
-- Triggers `product_purchases`
--
DROP TRIGGER IF EXISTS `upd_check1`;
DELIMITER //
CREATE TRIGGER `upd_check1` AFTER INSERT ON `product_purchases`
 FOR EACH ROW BEGIN
  DECLARE X INTEGER;
  SET X = (SELECT product_id FROM product_stock where product_id = NEW.product_id );
  IF NEW.product_id =X  THEN
  UPDATE
    product_stock AS S,
    product_purchase_item AS I,
    product_purchases AS P
  SET
    S.product_total_quantity=S.product_total_quantity+I.quantity
  WHERE
    S.product_id=I.product_id
  AND
    I.product_purchase_item_id=P.product_purchase_item_id
  AND
    P.product_purchase_id=NEW.product_purchase_id;
  ELSE
    INSERT INTO …
Run Code Online (Sandbox Code Playgroud)

mysql sql triggers

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

通过每个索引对象值从多维数组创建数组

这是我的主数组的示例:

[
  {
    'data': [{'value': 'Red'}, {'value': 'Small'}, {'value': 'Good'}]
  },
  {
    'data': [{'value': 'Black'}, {'value': 'Medium'}, {'value': 'Bad'}]
  },
  {
    'data': [{'value': 'White'}, {'value': 'Large'}, {'value': 'Best'}]
  }
]
Run Code Online (Sandbox Code Playgroud)

我想要作为输出:

[
  ['Red', 'Black', 'White'],    // all values from first index of data array
  ['Small', 'Medium', 'Large'], // all values from second index of data array
  ['Good', 'Bad', 'Best']       // all values from third index of data array
]
Run Code Online (Sandbox Code Playgroud)

我试图用forEachfor...infilter等,但我没有成功拿到前面的输出。

javascript arrays

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

如何使用 PHP 检查删除限制的外键约束

我有两张表Productbuy。我on delete restrictproduct.purchase_id列与purchase.purchase_id列中设置了 FK。然后,如果我尝试使用 FK 删除product.product_id,它会显示错误,就像

数据库发生错误

错误号:1451

无法删除或更新父行:外键约束失败(`another_bata`.`product_purchase_item`、CONSTRAINT `FK_product_purchase_item_1` FOREIGN KEY (`product_id`) REFERENCES `product` (`product_id`) ON UPDATE CASCADE)

从product_id='158'的产品中删除

文件名:C:\xampp\htdocs\rima_shoe\system\database\DB_driver.php

线路号码:330

但我需要一个用户友好的错误,假设您无法删除此产品列表,因为您已经库存了此产品

所以我需要在 php 中检查这个 FK ,我该怎么做?

on delete restrict我的第二个问题..在某些特殊情况下是否可以删除已经存在的 FK 'product.product_id' ?认为

DELETE p,q FROM product AS p INNER JOIN purchase AS q
WHERE p.purchase_id=q.purchase_id AND q.purchase_quan=0
Run Code Online (Sandbox Code Playgroud)

php mysql sql database

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

返回特定数组键的值

我读了一些问题并且我没有解决我的问题我使用的是array_column()但是我对这个愚蠢的问题很困惑

我有一个阵列 $product

$product = array(
    0 => array(
        'id' => '123',
        'name' => 'Facebook status robot',
        'description'=> 'Post your wall in your given time',
        'quantity' => '1',
        'unitPrice' => '120',
        'taxable' => 'true'
    ),
    1 => array(
        'id' => '123',
        'name' => 'Facebook status robot',
        'description'=> 'Post your wall in your given time',
        'quantity' => '1',
        'unitPrice' => '120',
        'taxable' => 'true'
    ),
    2 => array(
        'id' => '123',
        'name' => 'Facebook status robot',
        'description'=> 'Post your …
Run Code Online (Sandbox Code Playgroud)

php arrays

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