Avatar
Milan Gallas
Redaktor
Avatar
Milan Gallas:6.1.2014 18:28

Ahoj nevím si rady. Potřebuji zapsat do tabulky pouze unikátní hodnoty a tento příkaz z knížky mi nefunguje. Mohl by někdo poradit jak na to.

IF NOT EXISTS (SELECT * FROM kapsička WHERE vec = 'pero')
  INSERT INTO kapsička VALUES ('pero');
IF NOT EXISTS (SELECT * FROM kapsička WHERE vec = 'nozik')
  INSERT INTO kapsička VALUES ('nozik');
 
Odpovědět 6.1.2014 18:28
Avatar
Milan Gallas
Redaktor
Avatar
Odpovídá na Milan Gallas
Milan Gallas:6.1.2014 18:29

a samotná tabulka:

CREATE TABLE kapsička
(
  vec VARCHAR(15) NOT NULL UNIQUE
);
 
Nahoru Odpovědět 6.1.2014 18:29
Avatar
Kit
Redaktor
Avatar
Odpovídá na Milan Gallas
Kit:6.1.2014 20:18
INSERT IGNORE INTO kapsička VALUES ('pero');
INSERT IGNORE INTO kapsička VALUES ('nozik');
Nahoru Odpovědět 6.1.2014 20:18
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Milan Gallas
Redaktor
Avatar
Odpovídá na Kit
Milan Gallas:6.1.2014 20:29

Díky.

 
Nahoru Odpovědět 6.1.2014 20:29
Avatar
Milan Gallas
Redaktor
Avatar
Odpovídá na Kit
Milan Gallas:18.1.2014 17:55

Jo a nevíš prosím, proč mi nefunguje tento kud kódu:

INSERT IGNORE INTO zakaznici(jmeno, adresa, email)
VALUES('DD', 'DD', '[email protected]')

zákazník se zapíše vždy nový a to já nechci :(

 
Nahoru Odpovědět 18.1.2014 17:55
Avatar
Kit
Redaktor
Avatar
Odpovídá na Milan Gallas
Kit:18.1.2014 18:01

Sloupec 'jmeno' zřejmě nemáš UNIQUE.

Nahoru Odpovědět 18.1.2014 18:01
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Milan Gallas
Redaktor
Avatar
Odpovídá na Milan Gallas
Milan Gallas:18.1.2014 18:17

Už možná začímńám být otravný, ale nejde mi do hlavy, v čem je chyba:
Chyba

SQL-dotaz:

CREATE TABLE `shop`.`zakaznici` (
`id_zakaznik` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`jmeno` TEXT NOT NULL ,
`adresa` TEXT NOT NULL ,
`email` TEXT NOT NULL ,
UNIQUE (
`jmeno`
)
) ENGINE = InnoDB;

MySQL hlásí: Dokumentace
#1170 - BLOB/TEXT column 'jmeno' used in key specification without a key length

 
Nahoru Odpovědět 18.1.2014 18:17
Avatar
Kit
Redaktor
Avatar
Odpovídá na Milan Gallas
Kit:18.1.2014 18:21

Indexovat můžeš jen CHAR nebo VARCHAR do délky 255 znaků.

Nahoru Odpovědět 18.1.2014 18:21
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Milan Gallas
Redaktor
Avatar
Odpovídá na Kit
Milan Gallas:18.1.2014 18:25

Jo díky moc.

 
Nahoru Odpovědět 18.1.2014 18:25
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.