标签: mysql-error-1064

Errors with MySQL stored function creation ERROR 1064 & 1327

I am using MySQL v5.1.36 and I am trying to create a stored function using this code.

DELIMITER //
CREATE FUNCTION `modx`.getSTID (x VARCHAR(255)) RETURNS INT DETERMINISTIC
    BEGIN
    DECLARE y INT;
    SELECT id INTO y
    FROM `modx`.coverage_state
    WHERE `coverage_state`.name = x;
    RETURN y;
    END//
Run Code Online (Sandbox Code Playgroud)

When entered into the MySQL Console I get this response.

mysql>  DELIMITER //
mysql>  CREATE FUNCTION `modx`.getSTID (x VARCHAR(255)) RETURNS INT DETERMINISTIC
    ->          BEGIN
    ->          DECLARE y INT;
ERROR 1064 (42000): You have an error in …
Run Code Online (Sandbox Code Playgroud)

mysql sql function mysql-error-1064 mysql-error-1327

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

触发以跟踪MySQL数据库中的更改

我似乎无法创建一个触发器.我已经尝试了以下两种方式进行更新.我一直在使用insert语句获得语法错误.我在过去4小时内搜索了论坛和网络搜索,没有任何变化.这有很多代码,它基本上重复了一遍.任何帮助,将不胜感激.谢谢.我正在运行MySQL 5.0并通过phpMyAdmin 2.8.2.4作为Administrator/Root进行访问.


尝试1(在所有字段和名称上有和没有qoutes)

CREATE TRIGGER insert_classes
AFTER insert ON Classes
FOR EACH ROW
BEGIN
    insert into insert_tracking_classes (classID, Title, classDesc, Category, isEvent, picLeft, picTop, picRight, picBottom, prnColor, modified)
    values(NEW.classID, NEW.Title, NEW.classDesc, NEW.Category, NEW.isEvent, NEW.picLeft, NEW.picTop, NEW.picRight, NEW.picBottom, NEW.prnColor, NOW());
END;

CREATE TRIGGER insert_classes
AFTER insert ON Classes
FOR EACH ROW
BEGIN
insert into insert_tracking_classes
        set classID = NEW.classID,
        Title = NEW.Title,
        classDesc = NEW.classDesc,
        Category = NEW.Category,
        isEvent = NEW.isEvent,
        picLeft = NEW.picLeft,
        picTop = NEW.picTop,
        picRight = NEW.picRight, …
Run Code Online (Sandbox Code Playgroud)

mysql sql triggers mysql-error-1064

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

MySQL查询给出错误1064 - 任何想法?

这个查询:

UPDATE jos_content SET fulltext='\r\n<br /> \" some other text' WHERE id=3
Run Code Online (Sandbox Code Playgroud)

得到:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'fulltext='\r\n<br /> \" some other text' WHERE id=3' at line 1

任何人都知道为什么?谢谢你.

mysql mysql-error-1064

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

MySQL条件加入

正如你可以看到下面,我检查,看看如果当前用户是在user_auser_b表列的朋友.

根据当前用户所在的位置,我想得到他相应的朋友.

不知怎的,我不能让这个语法工作,并想知道是否有人可以告诉我什么是错的(我在附近的第3行得到一个错误IF user_a = 2.

SELECT *
  FROM friends
IF user_a = 2 THEN
  JOIN user_profiles ON friends.user_b = user.profiles.user_id
 WHERE user_a = 2
   AND accepted = 1;
ELSEIF user_b = 2 THEN
  JOIN user_profiles ON friends.user_a = user_profiles.user_id
 WHERE user_b = 2
   AND accepted = 1;
END IF;
Run Code Online (Sandbox Code Playgroud)

mysql sql mysql-error-1064

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

错误代码:mysql 中的 1064

我创建了一个应该执行某些操作的过程,但是每次调用它时,mysql 都会出现错误,我不知道它是什么意思。我试图理解它是徒劳的,这是存储过程对其进行操作的表结构:

CREATE  TABLE `recruitment`.`job_seeker` (
    `user_id` INT Null ,
    `fname` VARCHAR(45) Null ,
    `lname` VARCHAR(45) Null ,
    `mname` VARCHAR(45) Null ,
    `gender` VARCHAR(10) Null ,
    `dob` DATE Null ,
    `marital_status` VARCHAR(45) Null ,
    `address` VARCHAR(45) Null ,
    `city` VARCHAR(45) Null ,
    `nationality` VARCHAR(45) Null ,
    `phone` VARCHAR(45) Null ,
    `mobile` VARCHAR(45) Null ,
    `degree_id` INT Null ,
    `education` VARCHAR(100) Null ,
    `experience` VARCHAR(250) Null ,
    `other` VARCHAR(250) Null ,
    `job_target` VARCHAR(250) Null ,
    PRIMARY KEY (`user_id`) ,
    INDEX `user_id` …
Run Code Online (Sandbox Code Playgroud)

mysql mysql-error-1064

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

mysql插入到一个表中,他的名字包含破折号

我正在使用mysql,我有一个表,他的名字是"概念关系",我想插入其中

PHP代码

for ($i = 0; $i < count($sources); $i++) {
    $sourceID = $this->getConcpeptID($sources[$i]);
    $desID = $this->getConcpeptID($distinations[$i]);
    $query2 = "INSERT INTO concept-relation (relationID, firstConceptID, secondConceptID) VALUES (:rID, :sID, :dID)";
    $sth = $this->db->prepare($query2);
    $sth->execute(array(
        ':rID' => $relationID,
        ':sID' => $sourceID,
        'dID' => $desID
    ));
}
Run Code Online (Sandbox Code Playgroud)

我收到此语法错误消息

INSERT INTO concept - relation(
    relationID,
    firstConceptID,
    secondConceptID
)
VALUES ( 3, 3, 3 )
Run Code Online (Sandbox Code Playgroud)

我试图直接从mysql插入并得到错误似乎相同的错误

for ($i = 0; $i < count($sources); $i++) {
    $sourceID = $this->getConcpeptID($sources[$i]);
    $desID = $this->getConcpeptID($distinations[$i]);
    $query2 = "INSERT INTO …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo mysql-error-1064

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

根据子查询的结果更新表中的多个行

我有以下查询:

SELECT 
  stat.mcq_id, 
  ROUND( stat.total_score / stat.num_taken, 2 ) AS avg_score
    FROM (
      SELECT 
        user_mcq.mcq_id, 
        SUM( score ) AS total_score, 
        COUNT( user_mcq.id ) AS num_taken
      FROM user_mcq
      INNER JOIN user ON ( user.id = user_mcq.user_id ) 
      WHERE user.level_id =3
      AND user_mcq.is_complete =1
      GROUP BY user_mcq.mcq_id
    ) AS stat
Run Code Online (Sandbox Code Playgroud)

这会产生:

mcq_id  avg_score
1       5.75
2       9.22
6       8.81
7       8.94
14      7.00
16      9.46
Run Code Online (Sandbox Code Playgroud)

我想用它来更新另一个名为mcqusing的表mcq_id来匹配结果mcq.id

我尝试了以下,但没有成功:

UPDATE mcq SET mcq.avg_score = stats.avg_score FROM (
  SELECT 
  stat.mcq_id, …
Run Code Online (Sandbox Code Playgroud)

mysql group-by mysql-error-1064

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

mysql_error()没有显示错误

我正在尝试调试我的代码,但mysql_error()没有显示任何内容.我知道有些不对劲,因为我写的时候

or die("ERROR");
Run Code Online (Sandbox Code Playgroud)

它显示ERROR.所以问题必须是那一行代码.当我写作

or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)

它显示空白.这是我认为有错误的行的代码:

while ($rows = mysql_fetch_array($sql6) or die(mysql_error())) {
Run Code Online (Sandbox Code Playgroud)

现在这里是完整的代码块:

$sql6 = mysql_query("SELECT * FROM replies WHERE thread_id = $thread_id");
    $numRows = mysql_num_rows($sql6);
    $replies = '';
    if ($numRows < 1) {
        $replies =  "There are no replies yet, you can make the first!";
    } else {
        while ($rows = mysql_fetch_array($sql6) or die(mysql_error())) {
            $reply_content = $rows['5'];
            $reply_username = $rows['7'];
            $reply_date = $rows['8'];
            $reply_author_id = $rows['4'];

            $sql9 = mysql_query("SELECT * FROM users WHERE id = '$reply_author_id'"); …
Run Code Online (Sandbox Code Playgroud)

php mysql syntax-error mysql-error-1064

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

语句关闭后不允许进行任何操作

我在No operations allowed after statement closed.尝试将值插入数据库的 Java 代码中收到带有签名的异常。错误签名表示我的 Statement 对象已关闭,我正在尝试在我的代码中再次使用它,但我很难理解为什么会发生这种情况,因为我没有关闭代码中任何地方的任何连接。

这是Java代码。

public class DataBaseAccessUtils {

    private static String jdbcUrl = 
            AppConfig.findMap("BXRequestTracker").get("jdbcUrl").toString();
    private static Connection connection = null;
    private static Statement statement = null;

    public static void insertHostname(String hostname, String rid, String fleet, String locale)
    {
        locale.toUpperCase();
        String sql = "UPDATE " + locale + "REQUESTTRACKER SET " + fleet 
                + "='" + hostname + "' WHERE RID='" + rid + "'";
        try {
            statement.execute(sql);
        }
        catch (SQLException e) …
Run Code Online (Sandbox Code Playgroud)

java mysql mysql-error-1064

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

不支持MySQL关键字:C#应用程序中的"端口"错误

我正在尝试连接到我的c#.Net应用程序中的MySQL数据库

我尝试连接时收到此错误:不支持关键字:'port'.

该错误似乎表明我的连接字符串存在问题

<add name="mydataEntities" connectionString="server=myserver.com;port=3306;password=xxxx;user id=yyyy;database= mydatabase;persistsecurityinfo=True" providerName="MySql.Data.MySqlClient" />
Run Code Online (Sandbox Code Playgroud)

我有参考添加:MySql.Data 6.9.7.0(MySQL的ADO.Net驱动程序)和MySql.Data.Entity.EF6 6.9.7.0(支持实体框架6.0)

在我的配置中,我有:

  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
            <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
      </provider>
    </providers>
  </entityFramework>

<dependentAssembly>
        <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-6.9.7.0" newVersion="6.9.7.0" />
 </dependentAssembly>

<system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient" />
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
  </system.data>
Run Code Online (Sandbox Code Playgroud)

连接字符串在这里设置:

public class Repository
    {
        protected mydataEntities DbContext;

        public Repository()
        { …
Run Code Online (Sandbox Code Playgroud)

mysql mysql-error-1064

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