我有一个yii模型,它基于一个带有空间POINT字段的mysql表。当查看此模型的记录时,我希望以"55.0000,-89.5000“的格式显示坐标。在默认生成的CRUD视图中,当前它不显示此字段的任何内容。
我想我必须以某种方式使用mysql AsText函数,也许在beforeFind()中?
我该怎么做?
更新
我发现我可以使用以下方法获得打印为"POINT(55.0000,-89.5000)“的值:
public function beforeFind()
{
parent::beforeFind();
$criteria = new CDbCrite
好的,这会有点复杂。
但是现在我正在使用一个自己编写的函数来创建一个查询,用于在数据库中创建、插入页面。
我想知道是否有更聪明的方法来实现灵活的"insert into“方法。
问题是,在创建页面时,我有一些字段是可选的,所以现在我正在运行所有字段并检查它们是否已设置。:
//creates an Array which can be used to make a MySQL query
function createQueryArray($new) {
if (isset($this->users_id))
$this->query_array[&
我有一个需要int 'id‘自动增量的模型。当我尝试从server-script创建一个新记录时,我得到了'id' field value is required, but found 'null'。
这是真的,我没有设置这个字段。因为我假设它将由后面的云SQL实例设置。
我做错了吗?
编辑
我还有其他具有相同结构的表(一个必需的int id自动增量),它们工作得很好。将0设置为该字段的默认值将生成Error: MySQL does not support zeros as the value of an auto-increment field。设置%
我最近升级了本地wampserver,因此更新了MySQL。他们默认启用的严格模式给我带来了一些麻烦。
添加默认值的要求(对我来说有点过了)。但我是谁)对我来说是个大问题。
我创建的系统停止工作,因为这使我的整个操作停止了。
我所犯的错误:
字段'pageoptions_description‘没有默认值
现在,我添加了一个默认值:
ALTER TABLE `serene_pageoptions`
CHANGE `pageoptions_description` `pageoptions_description`
TEXT CHARACTER SET latin1 COLL
在mysql 5.7.28中,我创建了如下表:
create table t1 (
id int not null,
d1 timestamp)
engine=innodb;
它可以很好地工作,并将d1与default value current_timetamp、on update current_timestamp一起创建为non-null。
但是,当我尝试使用两个时间戳字段创建相同的表时,如下所示:
create table t1 (
id int not null,
d1 timestamp,
d2 timestamp)
engine=innodb;
我收到一个错误:
SQL (1
作为背景,我们在工作中使用ZendFramework2和Doctrine。教义总是为我们自己不存在的价值观插入NULL。通常,这是可以的,就好像字段有一个默认值一样,那么它应该用这个默认值填充该字段。
对于运行MySQL 5.6.16的服务器之一,下面这样的查询运行并执行良好。虽然NULL被插入到一个不可为空的字段中,但MySQL在insert上使用其默认值填充该字段。
在另一个运行MySQL 5.6.20的服务器上,我们运行下面的查询,因为它抱怨'field_with_default_value‘不能为null。
INSERT INTO table_name(id, field, f
我在mysql中创建了一个表
create table test (id int primary key not null auto_increment, vs varchar(255) not null);
跑时
insert into test (vs) values (null);
它抛出一个错误:
ERROR 1048 (23000): Column 'vs' cannot be null
但是当我试图插入两行
insert into test (vs) values (null),(null);
它起了作用,其结果是:
mysql> select * from
我们有一个Drupal 8网站。对于我们的一个特性,我在我们的博客文章内容类型中添加了一个名为“固定”的布尔字段。
当我将字段作为筛选条件添加到视图中时,我注意到,无论我选择了什么配置,Is equal to + True、Is equal to + False、Is not equal to + True、Is not equal to + False,我的视图预览都有结果,但突然没有结果。我认为这些组合中肯定有一个必须适用于至少一个节点。
我将“固定”字段添加到视图的字段中以检查值,并将其从筛选条件中删除。事实证明,从技术上来说,这个领域是NULL,从join来看--在node__fiel
我正试图通过前向工程来创建一个模式,一个模型eer图。但是,当使用默认的current_timestamp时,它会给datetime字段带来一个错误,在mysql 8中,datetime字段是允许的。
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE,
在mysql (Ubuntu13.10,MySql 5.5)中,我试图创建一个表,该表将使用以下代码自动创建一个随机字母数字ID:
create table YGraph (
YGraphEdgeId CHAR(8) NOT NULL PRIMARY KEY DEFAULT SUBSTRING(MD5(RAND()) FROM 1 FOR 8),
YGraphStartVertex CHAR(6) NOT NULL,
YGraphEndVertex CHAR(6) NOT NULL
);
但是phpmyadmin在抱怨:
#1064 - You have an erro
我使用LOAD DATA INFILE将CSV导入到MySQL表中。表的一个字段存储邮政编码数据,这是我在表结构contributor_zipcode INT中定义的。
在CSV中,此字段有时为空。当我执行LOAD查询时,MySQL将抛出如下警告:
Incorrect integer value: '' for column 'contributor_zipcode' at row 180
我尝试将该字段重新定义为contributor_zipcode INT DEFAULT '0'和contributor_zipcode INT DEFAULT